Пейзажный пролёт для фона сайта
Slow aerial glide over terraced rice fields at sunrise, low mist between the hills, soft golden light, calm cinematic mood
seconds: 10aspect: 16:9Длинный план без людей — хороший кандидат на 10 секунд.
Wan API из России: Wan 2.7 text-to-video и image-to-video в рублях, оплата картой РФ или СБП. Цена за клип, примеры кода.
Wan — семейство моделей генерации видео от Alibaba. На площадке доступны две модели: text-to-video создаёт ролик по текстовому описанию, image-to-video оживляет загруженный кадр, добавляя движение камеры и объектов. Обе работают с настраиваемой длительностью и соотношением сторон, что удобно для коротких промо-роликов и анимации статичных изображений.
Одним ключом API вы получаете доступ ко всем моделям Wan и остальным моделям площадки — не нужно заводить отдельные договоры и ключи у разных поставщиков. Биллинг — отдельный рублёвый кошелёк API: пополнение картой РФ или по счёту для юрлица, без VPN и зарубежных карт. Документация и выпуск ключей — в личном кабинете API на zerocoder.com, запросы совместимы со стандартными HTTP-клиентами и SDK.
Генерация видео асинхронная: вы отправляете POST-запрос с указанием модели, текста (prompt), длительности и формата кадра — для image-to-video дополнительно передаётся ссылка на референсный кадр. В ответ приходит идентификатор задачи, а готовность и ссылку на результат вы получаете, опрашивая статус задачи. Цены и список моделей — в едином справочнике, баланс кошелька — отдельным запросом.
Живой прайс GET /v1/models в рублях и долларах. Зачёркнута официальная цена вендора за ту же единицу — там, где мы дешевле. Эндпоинт: /v1/videos
| Модель | Цена | Единица | Скидка |
|---|---|---|---|
Wan 2.7 text-to-videoрекомендуем wan/2-7-text-to-video · Alibaba | Официальная цена: | за клипофициально: $0.10/с × 5 с · 720P | -68% |
Wan 2.7 image-to-video wan/2-7-image-to-video · Alibaba | Официальная цена: | за клипофициально: $0.10/с × 5 с · 720P | -68% |
Выберите модель и объём — калькулятор считает по тем же формулам, что биллинг API.
Цены из GET /v1/models, курс — внутренний. Неудачная генерация не списывается.
POST /v1/videos запускает рендер и сразу возвращает id задачи и price_rub, GET /v1/videos?id=… — статус и ссылку на ролик. Упал рендер — деньги вернутся на баланс автоматически.
Base URLhttps://zerocoder.com /api/v1Ключ — в заголовке x-api-key или Authorization: Bearer
Модель в примерах — wan/2-7-text-to-video; подойдёт любая модель text‑to‑video или image‑to‑video из таблицы цен
import time, requests API = "https://zerocoder.com/api/v1"H = {"x-api-key": "zc-sk-…"} r = requests.post(f"{API}/videos", headers=H, json={ "model": "wan/2-7-text-to-video", "prompt": "Drone shot over a foggy forest at dawn", "seconds": 5, # 4–10 "aspect": "16:9", # image-to-video: "image": "https://…"})r.raise_for_status()job = r.json() # status "queued", price_rub charged st = {}while st.get("status") not in ("completed", "failed"): time.sleep(4) r = requests.get(f"{API}/videos", headers=H, params={"id": job["id"]}) st = r.json() if r.ok else {} # 502 → poll againprint(st) # "url", or "refunded": true on failureconst API = "https://zerocoder.com/api/v1";const H = { "x-api-key": "zc-sk-…", "content-type": "application/json",}; const res = await fetch(`${API}/videos`, { method: "POST", headers: H, body: JSON.stringify({ model: "wan/2-7-text-to-video", seconds: 5, aspect: "16:9", prompt: "Drone shot over a foggy forest at dawn", }), // image-to-video: add image: "https://…"});const job = await res.json(); // "queued", price_rubif (!res.ok) throw new Error(job.error.message); const poll = `${API}/videos?id=${job.id}`;let st = {};while (st.status !== "completed" && st.status !== "failed") { await new Promise((go) => setTimeout(go, 4000)); const r = await fetch(poll, { headers: H }); st = r.ok ? await r.json() : {}; // 502 → poll again}console.log(st); // url, or refunded: true# 1) start the render: price_rub is charged up front,# refunded if the render failscurl https://zerocoder.com/api/v1/videos \ -H "x-api-key: zc-sk-…" \ -H "content-type: application/json" \ -d '{"model": "wan/2-7-text-to-video", "seconds": 5, "aspect": "16:9", "prompt": "Drone shot over a foggy forest at dawn"}'# → {"id":"…","object":"video","status":"queued",# "seconds":5,"price_rub":…,"balance_rub":…,# "poll":"/api/v1/videos?id=…"}# image-to-video: add "image": "https://…/frame.jpg"# 2) poll every few seconds: "completed" or "failed"curl "https://zerocoder.com/api/v1/videos?id=…" \ -H "x-api-key: zc-sk-…"# rendering → "status": "queued" | "running" | …# done → "status": "completed", "url": "https://…"# failed → "status": "failed", "refunded": true# HTTP 502 "Status check failed" → just poll again;# a render that never finishes is refundedОфициальная цена Alibaba (Wan 2.7 text-to-video, 720P), цена секунды × 5 с (seconds по умолчанию) — по курсу 90 ₽/$; проверено 4 октября 2026

От ключа до продакшена — шесть шагов по реальным контрактам /api/v1. Каждый шаг ведёт в нужный раздел документации.
Зарегистрируйтесь, откройте раздел API в кабинете, пополните баланс в рублях и создайте ключ формата zc-sk-…. Один ключ открывает Wan и все остальные модели каталога.
Подробнее →POST /v1/videos с полями model, prompt, seconds и aspect: в ответе придут id задачи, статус queued и price_rub — сумма списывается до старта рендера Wan.
Подробнее →GET /v1/videos?id=… раз в несколько секунд, пока status не станет completed (поле url) или failed (refunded: true — деньги уже вернулись на баланс). Ссылка на файл временная — скачивайте сразу.
Подробнее →30 запросов в минуту на ключ: на 429 подождите и повторите с нарастающей паузой; 402 — пополните баланс; 400 — сверьте model по GET /v1/models. Неудачная генерация не списывается, повторять её безопасно.
Подробнее →GET /v1/balance отдаёт баланс и расход за 30 дней; цена каждого вызова приходит прямо в ответе — пишите её в свои логи и поставьте порог оповещения в своём мониторинге.
Подробнее →Ключ храните в секретах сервера, не во фронтенде. Под большой объём Wan напишите нам — лимит поднимается индивидуально, юрлицам доступна оплата по счёту. Фактическую стабильность смотрите на странице статуса.
Подробнее →Узел HTTP Request: метод POST, адрес ручки /api/v1, заголовок x-api-key и JSON-тело из полей воркфлоу. Для видео — узел Wait и второй HTTP Request на GET ?id= в цикле до completed.
Модуль HTTP «Make a request»: POST, Body type JSON, заголовок x-api-key. Ответ парсится автоматически — url картинки или текст ответа подставляются в следующие модули.
Действие Webhooks by Zapier → Custom Request: POST, Data — JSON с model и prompt, Headers — x-api-key. Поля ответа доступны следующим шагам запа.
В Apps Script — UrlFetchApp.fetch с method post, contentType application/json и payload из ячеек: промты в одной колонке, результат записывается в соседнюю.
Бот на aiogram, grammY или Telegraf вызывает тот же HTTP API: сообщение пользователя → запрос к модели → ответ в чат. Для видео — опрос статуса и отправка файла по готовой ссылке.
Для текстовых моделей официальные SDK OpenAI и Anthropic работают с заменённым base URL и нашим ключом — код приложения не меняется. Картинки и видео — обычный HTTP-запрос из любого языка.

Не только ключ: поможем встроить Wan и другие модели в ваши процессы — от аудита до продакшена, с оплатой по счёту.
# 401 {"type":"error","error":{"type":"authentication_error","message":"Invalid or revoked API key."}}
# 402 {"type":"error","error":{"type":"billing_error","message":"Not enough API balance: …"}}
# 429 {"type":"error","error":{"type":"rate_limit_error","message":"…"}} ← 30 requests/min per key
# 400 {"type":"error","error":{"type":"invalid_request_error","message":"Unknown model \"…\". See GET /v1/models."}}
# 502 {"type":"error","error":{"type":"api_error","message":"… Charge refunded."}} ← start failed → money back
# GET ?id → {"id":"vid_…","status":"failed","refunded":true} ← render failed → money back
Цифры — из публичной сводки /status: доля успешных запросов за период по всему API и по категории в целом (разбивки по отдельным моделям в сводке нет), без обещаний SLA. Неудачная генерация не списывается, повторять её безопасно.
Учёт ведётся с 6 авг. 2026.
Продуктовая команда добавляет в маркетинг-редактор кнопку «оживить баннер» на wan/2-7-image-to-video
Индихакер делает телеграм-бота: пользователь присылает фото, бот возвращает короткий видеоклип
Бэкенд интернет-магазина автоматически анимирует карточки товаров для соцсетей по фото из каталога
SaaS для генерации видеорекламы собирает ролики из пользовательских изображений без участия дизайнера
Внутренний пайплайн маркетинга превращает текстовые брифы в черновики промо-видео через text-to-video
No-code платформа добавляет узел «генерация видео» в сценарии автоматизации контента

Скопируйте промт и параметры в тело запроса — поля называются так же, как в контракте /api/v1. Подставьте свой материал в угловых скобках.
Slow aerial glide over terraced rice fields at sunrise, low mist between the hills, soft golden light, calm cinematic mood
seconds: 10aspect: 16:9Длинный план без людей — хороший кандидат на 10 секунд.
Close-up of fresh raspberries falling into a glass of sparkling water in slow motion, bubbles rising, bright kitchen light, vertical framing
seconds: 5aspect: 9:16The camera slowly pushes in, curtains move gently in the breeze, sunlight flickers across the room, keep the furniture and layout unchanged
seconds: 5aspect: 16:9image: https://…/room.jpgВыберите в таблице версию image-to-video; ссылка на кадр — публичная https.
A white sneaker rotates slowly on a concrete pedestal, dramatic side light, subtle dust in the air, premium commercial look
seconds: 5aspect: 1:1Rain drops running down a window at night with blurred city lights behind, slow focus pull, moody blue and amber tones
seconds: 8aspect: 16:9
Отрасли, где этот тип генерации встраивается в процесс, а не остаётся экспериментом.
Цена Wan зависит от версии: часть версий продаётся поклипно по фиксированной цене ролика, а посекундные — за секунду по тарифу разрешения (без size и resolution запрос считается в 1080p). Единица и цены каждой версии — в таблице выше и в GET /v1/models, в рублях; та же сумма приходит в поле price_rub ответа POST /v1/videos ещё до начала рендера, так что бюджет серии считается заранее.
Через requests: POST /v1/videos с заголовком x-api-key и JSON из model, prompt, seconds и aspect — в ответе id задачи и статус queued. Затем раз в несколько секунд опрашивайте GET /v1/videos по этому id до completed и сразу скачивайте mp4. Полные примеры Wan для Python, Node.js и командной строки — в блоке «Первый запрос».
Это две отдельные модели Wan с разными id в таблице. Text-to-video строит сцену целиком по описанию; image-to-video берёт стартовый кадр из поля image (публичная https-ссылка) и оживляет его, сохраняя композицию, — в промте тогда описывайте только движение. Картинку передавайте именно версии image-to-video: текстовая модель стартовый кадр не использует.
Длительность задаётся в seconds от 4 до 10 (по умолчанию 5), формат — aspect 16:9, 9:16, 1:1, 4:3 или 3:4, либо явный size. Стартовый кадр для image-to-video — только публичная https-ссылка. Общий лимит ключа — 30 запросов в минуту на все ручки; при превышении Wan вернёт 429, повторите запрос с паузой.
Сумма за клип Wan возвращается на API-баланс автоматически: при статусе failed — сразу, в ответе будет refunded: true, а задачу, которая так и не выдала результат, система закроет с возвратом сама в течение нескольких часов. Оплачиваются только ролики со статусом completed и ссылкой на файл.
Аккаунт Alibaba Cloud, VPN и зарубежная карта не нужны: ролики Wan создаются запросом POST /api/v1/videos на zerocoder.com с ключом zc-sk-… из кабинета API. Пополнение — в рублях картой российского банка, через СБП или по счёту для юрлиц, закрывающие документы — по запросу. Этот же ключ подходит к OpenAI- и Anthropic-совместимым ручкам для текста и картинок.
Бесплатных роликов в API нет: кошелёк начинается с минимального первого пополнения, а каждый клип Wan списывается по цене из таблицы. Отладьте промт на одном-двух роликах и только потом запускайте серию — формат запроса у text-to-video и image-to-video одинаковый, меняются только model и поле image.
Зависит от версии: поклипные версии Wan стоят одинаково за ролик на 4 и на 10 секунд, а у посекундных цена — секунда выбранного разрешения × seconds. Учтите, что в длинном клипе модели сложнее удержать персонажа и сюжет: сцены с людьми начинайте с 5 секунд, а длинные ролики берите для пейзажей, фонов и плавных пролётов камеры.

До -68% к официальному API · оплата в рублях картой РФ