HiAPI
Блог

Руководство

Руководство по интеграции Wan 3.0 API: curl, Python и все параметры

Как вызывать Wan 3.0 Standard: отправка задачи и получение результата, режимы первого/последнего кадра и референсов, все параметры, типичные ошибки, 480P за 5 секунд — $0.20.

Oct 19, 2026
Руководство по интеграции Wan 3.0 API: curl, Python и все параметры

Wan 3.0 Standard (wan3.0-video) в HiAPI работает через единый асинхронный интерфейс: отправка через POST /v1/tasks возвращает taskId, а результат забирается через GET /v1/tasks/{taskId}. Достаточно одного промпта, чтобы получить видео со звуком; можно также добавить первый кадр, последний кадр или до 10 референсных изображений, 5 референсных видео и 5 референсных аудио для совместного управления генерацией. В этой статье приведены готовые к запуску примеры на curl и Python, все актуальные параметры и несколько моментов, на которые стоит обратить внимание перед запуском в продакшен.

Сначала о цене

Разрешение За секунду За 5 секунд
480P $0.04 $0.20
720P $0.08 $0.40
1080P (по умолчанию) $0.16 $0.80

Текущие цены HiAPI, проверены 18 октября 2026 г. Звук включён по умолчанию и не оплачивается отдельно.

Обратите внимание на значения по умолчанию: если не указать resolution, будет 1080P; если не указать duration, будет 5 секунд — итого $0.80 за видео. При тестировании промптов не забывайте явно указывать "resolution": "480P".

Для более быстрой генерации можно использовать ускоренную версию wan3.0-video-prime — цена более чем вдвое выше стандартной (480P — $0.0875 за секунду).

Реальный готовый ролик

480P, 16:9, 5 секунд, со звуком:

A steaming noodle stall at a night market, close on the cook's hands as she lifts a tangle of noodles from a boiling pot and swirls them into a blue-rimmed bowl; slow push-in, warm tungsten light against cool blue street glow, steam drifting through the frame. Sound: rolling boil, the clink of a ladle, crowd murmur and a scooter passing in the distance.

Сгенерировать по этому промпту →

wan3.0-video, 480P, 5 секунд, $0.20.

Запускаем первый запрос

Подготовка: создайте API-ключ в консоли. Новым пользователям при регистрации начисляется 200 кредитов.

curl: отправка задачи

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "input": {
      "prompt": "A steaming cup of coffee on a wooden table, soft morning light, gentle steam rising. Sound: a quiet cafe.",
      "resolution": "480P",
      "duration": 5,
      "aspect_ratio": "16:9"
    }
  }'

Сразу возвращается taskId, генерация идёт в фоновом режиме:

{"code": 200, "message": "success", "data": {"taskId": "tk-hiapi-..."}}

curl: получение результата

curl -s https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
  -H "Authorization: Bearer $HIAPI_KEY"

Когда data.status становится success, data.output[0].url — это адрес видео. Временная ссылка истекает примерно через 7 дней, поэтому скачивайте и сохраняйте как можно скорее. fail означает ошибку, деньги не списываются.

Python

import os, time, requests

KEY = os.environ["HIAPI_KEY"]
BASE = "https://api.hiapi.ai/v1"
H = {"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"}

r = requests.post(f"{BASE}/tasks", headers=H, json={
    "model": "wan3.0-video",
    "input": {
        "prompt": "A steaming cup of coffee on a wooden table, soft morning light, gentle steam rising. Sound: a quiet cafe.",
        "resolution": "480P",
        "duration": 5,
    },
})
task_id = r.json()["data"]["taskId"]

while True:
    d = requests.get(f"{BASE}/tasks/{task_id}", headers=H).json()["data"]
    if d["status"] in ("success", "fail"):
        break
    time.sleep(10)

print(d["output"][0]["url"] if d["status"] == "success" else d)

Короткие видео обычно генерируются за несколько минут, интервала опроса в 10 секунд достаточно.

Все параметры

Поле Обязательно Значения Описание
prompt Да Текст Сцена, действия, камера, свет и звук описываются здесь; в режиме референсов используйте Image1, Video1, Audio1 для ссылки на материалы
resolution Нет 480P / 720P / 1080P (по умолчанию) Определяет цену за секунду
duration Нет Целое число 2–30, по умолчанию 5 Суммарная длительность референсных видео плюс длительность результата не должна превышать 30 секунд
aspect_ratio Нет adaptive (по умолчанию) / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 adaptive выбирает автоматически по материалам и промпту
audio Нет Логическое значение, по умолчанию true Включать ли синхронизированную звуковую дорожку
seed Нет 0–2147483647 Фиксация для воспроизводимости
first_frame_url Нет 1 URL изображения Режим первого кадра
last_frame_url Нет 1 URL изображения Используется вместе с первым кадром, задаёт последний кадр
reference_image_urls Нет До 10 Референсные изображения
reference_video_urls Нет До 5, каждый 1–15 секунд, в сумме ≤15 секунд Референсные видео
reference_audio_urls Нет До 5 файлов WAV/MP3 Используются вместе с изображениями или видео
reference_file_urls Нет До 1 Документ или презентация
reference_link_urls Нет До 1 Веб-страница без необходимости авторизации

Два режима нельзя смешивать: режим первого/последнего кадра и режим референсов reference_* взаимоисключающие, в одном запросе можно выбрать только один.

Пример записи в режиме референсов:

{
  "model": "wan3.0-video",
  "input": {
    "prompt": "Use Image1 as the product: slow quarter orbit around it on a wooden counter, soft morning window light. Sound: gentle pouring water.",
    "reference_image_urls": ["https://example.com/product.jpg"],
    "resolution": "480P",
    "duration": 5
  }
}

Типичные ошибки

Все они возвращаются синхронно при отправке с HTTP 400, задача не создаётся, деньги не списываются:

  • duration: maximum: got 99, want 30: длительность превышает 30 секунд.
  • resolution: value must be one of '480P', '720P', '1080P': в разрешении должна быть заглавная P.
  • additional properties 'negative_prompt', 'image_urls' not allowed: у этой модели нет негативного промпта; поле референсных изображений называется reference_image_urls, а не image_urls.
  • Неверный API-ключ возвращает HTTP 401, недостаток средств — 402.

Если задача уже создана, но завершилась ошибкой, в результате запроса будет status: "fail", при этом HTTP-код остаётся 200, поэтому нужно смотреть на data.status.

На что обратить внимание перед запуском в продакшен

  • Используйте callback вместо опроса: добавьте на верхний уровень тела запроса "callback": {"url": "https://ваш-домен/hiapi/callback", "when": "final"}, и HiAPI уведомит вас по завершении задачи. callback размещается на верхнем уровне, не внутри input.
  • Защита от повторного списания: при отправке передавайте заголовок Idempotency-Key. При повторе после сетевого таймаута используйте тот же ключ — вернётся прежний taskId, и новая задача не создастся.
  • Своевременно сохраняйте: временная ссылка истекает примерно через 7 дней. Если нужно долгосрочное хранение, передайте при создании "storage": "persistent" или переведите в постоянное хранилище позже, см. документацию по созданию задачи.

Частые вопросы

Можно ли обойтись без референсных изображений?

Да. Достаточно указать prompt, чтобы получить видео, референсные материалы необязательны.

Звук стоит дороже?

Нет. audio включён по умолчанию, цена зависит только от разрешения и количества секунд. Если звук не нужен, передайте false.

Нужно вертикальное видео?

Передайте aspect_ratio со значением 9:16.

Можно ли использовать первый кадр вместе с референсными изображениями?

Нет, нужно выбрать что-то одно.

Больше вариантов написания промптов — в сборнике промптов для Wan 3.0, для всех 4 сценариев приложены реальные готовые ролики. Можно также сразу скопировать промпт про лапшичную выше и сгенерировать ролик за $0.20.

Похожие статьи

Все статьи →

Начните работать с постоянными артефактами ИИ

Получите API-ключ и вызывайте модели изображений, видео и аудио через один API на основе tasks.

Читать документацию API