- Когда использовать этот быстрый старт
- Шаг 1: Получите ваш Novita API ключ
- Шаг 2: Подтвердите эндпоинты
- Шаг 3: Отправьте ваш первый T2V запрос
- Шаг 4: Отправьте ваш первый I2V запрос
- Шаг 5: Опрашивайте результаты
- Шаг 6: Проверьте цены и лимиты
- Ключевые параметры
- Пример на Python — полный асинхронный рабочий процесс
- Примеры cURL
- Устранение неполадок
- Часто задаваемые вопросы
- Рекомендуемые статьи
PixVerse V4.5 доступен на Novita AI через два асинхронных эндпоинта: POST https://api.novita.ai/v3/async/pixverse-v4.5-t2v для генерации видео из текста (T2V) и POST https://api.novita.ai/v3/async/pixverse-v4.5-i2v для генерации видео из изображения (I2V). Оба следуют одному и тому же двухшаговому асинхронному паттерну — отправьте запрос на генерацию, получите task_id, затем опрашивайте GET /v3/async/task-result, пока статус не станет TASK_STATUS_SUCCEED и URL видео не станет доступен. Это руководство проведет вас от нуля до работающего URL видео для каждого режима.
Когда использовать этот быстрый старт
Используйте это руководство, когда вам нужен проверенный рабочий запрос перед написанием продакшн-логики вокруг PixVerse V4.5.
T2V — правильный путь, когда ваш вход — полностью текст: описание сцены, подпись к раскадровке или промпт продукта. I2V предназначен для случаев, когда у вас есть референсное изображение, и вы хотите, чтобы PixVerse анимировал его, начиная с этого кадра.
Что стоит знать перед началом:
- Максимальная длина клипов — 5 секунд при 1080p или 8 секунд при 720p и ниже.
fast_mode: trueускоряет генерацию и снижает стоимость, но ограничивает разрешение до 720p.- Параметр предустановки
style(anime,3d_animation,clay,comic,cyberpunk) документирован как только для v3.5 — протестируйте его на V4.5, прежде чем полагаться на него в продакшне. - Входные изображения для I2V должны быть в формате jpg, jpeg или png; максимум 10 МБ; минимум 300×300 пикселей; соотношение сторон от 1:2.5 до 2.5:1.
Это руководство не охватывает веб-интерфейс PixVerse, самостоятельный хостинг или тонкую настройку. Оно рассматривает только API-путь, размещенный на Novita AI.
Шаг 1: Получите ваш Novita API ключ
Создайте аккаунт Novita AI и перейдите в раздел управления API ключами. Сгенерируйте ключ и экспортируйте его в ваше окружение:
export NOVITA_API_KEY="your_api_key_here"
Не храните ключ в системе контроля версий, клиентских сборках или слоях Docker-образов.
Шаг 2: Подтвердите эндпоинты
| T2V | I2V | |
|---|---|---|
| Эндпоинт отправки | POST https://api.novita.ai/v3/async/pixverse-v4.5-t2v |
POST https://api.novita.ai/v3/async/pixverse-v4.5-i2v |
| Эндпоинт результата | GET https://api.novita.ai/v3/async/task-result?task_id=<id> |
GET https://api.novita.ai/v3/async/task-result?task_id=<id> |
| Справочник API | Документация T2V | Документация I2V |
Эндпоинт результата общий для всех асинхронных API Novita AI. Как только вы поймете цикл опроса, он будет работать одинаково для каждой модели.
Шаг 3: Отправьте ваш первый T2V запрос
Отправьте генерацию с промптом и желаемым соотношением сторон. Значения по умолчанию (aspect_ratio: "16:9", resolution: "540p", fast_mode: false) — разумная отправная точка:
curl -s -X POST https://api.novita.ai/v3/async/pixverse-v4.5-t2v \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A time-lapse of cherry blossoms falling in slow motion, soft morning light, cinematic 4K",
"aspect_ratio": "16:9",
"resolution": "720p"
}'
Успешный ответ 200 возвращает только:
{
"task_id": "abc123..."
}
Сохраните task_id. На этом этапе больше ничего не возвращается — генерация видео выполняется асинхронно.
Шаг 4: Отправьте ваш первый I2V запрос
I2V принимает начальное изображение и анимирует его в соответствии с вашим промптом. Поле image_file ожидает строку в base64-кодировке исходного изображения:
# Сначала закодируйте изображение
IMAGE_B64=$(base64 -w 0 /path/to/your/image.jpg)
curl -s -X POST https://api.novita.ai/v3/async/pixverse-v4.5-i2v \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"prompt\": \"Camera slowly pushes forward, light wind moves through the scene\",
\"image_file\": \"$IMAGE_B64\",
\"resolution\": \"720p\"
}"
Ответ имеет ту же структуру, что и для T2V:
{
"task_id": "xyz789..."
}
Ключевые ограничения для изображений, которые нужно проверить перед отправкой:
- Формат: только jpg, jpeg или png
- Размер файла: максимум 10 МБ (проверьте перед кодированием — base64 увеличивает размер примерно на 33%)
- Минимальные размеры: 300×300 пикселей
- Соотношение сторон: от 1:2.5 до 2.5:1 (от портретного до пейзажного extremes)
Шаг 5: Опрашивайте результаты
Опрашивайте эндпоинт результата задачи с task_id, полученным на шаге отправки:
curl -s "https://api.novita.ai/v3/async/task-result?task_id=abc123..." \
-H "Authorization: Bearer $NOVITA_API_KEY"
Поле task.status проходит через следующие состояния:
| Статус | Значение |
|---|---|
TASK_STATUS_QUEUED |
Задача ожидает в очереди |
TASK_STATUS_PROCESSING |
Генерация выполняется |
TASK_STATUS_SUCCEED |
Видео готово; URL находится в ответе |
TASK_STATUS_FAILED |
Генерация не удалась; проверьте task.reason |
Опрашивайте каждые 5–10 секунд. Когда появится TASK_STATUS_SUCCEED, URL видео будет в теле ответа. Поле task.eta предоставляет оценочное время завершения в секундах, которое можно использовать для планирования первого опроса.
Шаг 6: Проверьте цены и лимиты
Опубликованная цена Novita AI для PixVerse V4.5 составляет $0.7 за 5-секундный клип (подтверждено на страницах продуктов PixVerse от Novita AI по состоянию на июль 2026 года). Проверьте текущую ставку на странице цен Novita AI перед составлением любой сметы.
fast_mode: true генерирует видео быстрее и с меньшей стоимостью, но разрешение ограничено 720p. Это полезно для прототипирования или пакетной генерации превью, где качество вторично.
Ограничения скорости зависят от уровня аккаунта. Проверьте документацию по лимитам скорости Novita AI для текущих пороговых значений тарифного плана.
Ключевые параметры
Параметры T2V
| Параметр | Тип | По умолчанию | Примечания |
|---|---|---|---|
prompt |
string | — | Обязательный. Максимум 2048 символов. |
aspect_ratio |
string | 16:9 |
16:9, 4:3, 1:1, 3:4, 9:16 |
resolution |
string | 540p |
360p, 540p, 720p, 1080p. 1080p требует fast_mode: false. |
negative_prompt |
string | — | Максимум 2048 символов. Опишите, чего следует избегать. |
fast_mode |
boolean | false |
Быстрее и дешевле; ограничение до 720p. |
style |
string | — | anime, 3d_animation, clay, comic, cyberpunk. Помечен как только для v3.5 — тестируйте перед использованием в продакшне. |
seed |
integer | — | Установите для воспроизводимости; результаты могут отличаться после обновлений модели. |
Параметры I2V
| Параметр | Тип | По умолчанию | Примечания |
|---|---|---|---|
prompt |
string | — | Обязательный. Максимум 2048 символов. |
image_file |
string | — | Обязательный. Изображение в base64-кодировке (jpg/jpeg/png). Максимум 10 МБ, минимум 300×300 пикселей, соотношение сторон от 1:2.5 до 2.5:1. |
resolution |
string | 540p |
Те же опции, что и для T2V. |
negative_prompt |
string | — | Максимум 2048 символов. |
fast_mode |
boolean | false |
То же, что и для T2V. |
style |
string | — | То же, что и для T2V. |
seed |
integer | — | То же, что и для T2V. |
Примечание: I2V не принимает параметр aspect_ratio — соотношение сторон выходного видео определяется из входного изображения.
Пример на Python — полный асинхронный рабочий процесс
Этот пример охватывает отправку T2V и I2V, а также цикл опроса в одном скрипте:
import os
import time
import base64
import requests
API_KEY = os.environ["NOVITA_API_KEY"]
BASE_URL = "https://api.novita.ai/v3/async"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
def submit_t2v(prompt: str, aspect_ratio: str = "16:9", resolution: str = "720p") -> str:
resp = requests.post(
f"{BASE_URL}/pixverse-v4.5-t2v",
headers=HEADERS,
json={
"prompt": prompt,
"aspect_ratio": aspect_ratio,
"resolution": resolution,
},
)
resp.raise_for_status()
return resp.json()["task_id"]
def submit_i2v(prompt: str, image_path: str, resolution: str = "720p") -> str:
with open(image_path, "rb") as f:
image_b64 = base64.b64encode(f.read()).decode("utf-8")
resp = requests.post(
f"{BASE_URL}/pixverse-v4.5-i2v",
headers=HEADERS,
json={
"prompt": prompt,
"image_file": image_b64,
"resolution": resolution,
},
)
resp.raise_for_status()
return resp.json()["task_id"]
def poll_result(task_id: str, interval: int = 8, timeout: int = 300) -> dict:
deadline = time.time() + timeout
while time.time() < deadline:
resp = requests.get(
f"{BASE_URL}/task-result",
headers=HEADERS,
params={"task_id": task_id},
)
resp.raise_for_status()
data = resp.json()
status = data.get("task", {}).get("status")
if status == "TASK_STATUS_SUCCEED":
return data
if status == "TASK_STATUS_FAILED":
reason = data.get("task", {}).get("reason", "unknown")
raise RuntimeError(f"Task {task_id} failed: {reason}")
time.sleep(interval)
raise TimeoutError(f"Task {task_id} did not complete within {timeout}s")
if __name__ == "__main__":
# Text-to-video
t2v_task = submit_t2v(
prompt="A lone lighthouse on a rocky coast at dusk, waves crashing, golden sky",
aspect_ratio="16:9",
resolution="720p",
)
print(f"T2V task submitted: {t2v_task}")
t2v_result = poll_result(t2v_task)
print("T2V result:", t2v_result)
# Image-to-video — replace with a real image path
# i2v_task = submit_i2v(
# prompt="Gentle wind moves through the scene, slow camera pull-back",
# image_path="./reference.jpg",
# resolution="720p",
# )
# print(f"I2V task submitted: {i2v_task}")
# i2v_result = poll_result(i2v_task)
# print("I2V result:", i2v_result)
Примеры cURL
T2V с быстрым режимом:
curl -s -X POST https://api.novita.ai/v3/async/pixverse-v4.5-t2v \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A hyperrealistic ocean wave cresting and breaking on shore, slow motion, golden hour",
"aspect_ratio": "9:16",
"resolution": "720p",
"fast_mode": true,
"negative_prompt": "blurry, low quality, watermark"
}'
T2V с seed для воспроизводимости:
curl -s -X POST https://api.novita.ai/v3/async/pixverse-v4.5-t2v \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Neon-lit cyberpunk street at night, rain reflections, hovering vehicles",
"aspect_ratio": "16:9",
"resolution": "1080p",
"seed": 42
}'
Опрос результата:
curl -s "https://api.novita.ai/v3/async/task-result?task_id=YOUR_TASK_ID" \
-H "Authorization: Bearer $NOVITA_API_KEY"
Устранение неполадок
400 Bad Request при отправке I2V
Сначала проверьте ограничения изображения: формат должен быть jpg/jpeg/png, размер должен быть менее 10 МБ перед кодированием base64 (закодированная полезная нагрузка будет примерно на 33% больше), минимум 300×300 пикселей, соотношение сторон от 1:2.5 до 2.5:1. Крайние пейзажные форматы (очень широкие или очень высокие изображения) будут отклонены.
Задача долго находится в состоянии TASK_STATUS_QUEUED
Это нормально при высокой нагрузке на платформу. Поле task.eta дает оценку; опрашивайте соответственно, не забивая эндпоинт. Если задача не продвинулась за 10 минут, проверьте страницу статуса Novita AI или повторите отправку.
TASK_STATUS_FAILED без полезной причины
Повторите с более коротким и простым промптом. Промпты с неоднозначными инструкциями по движению, противоречивыми описаниями сцены или персонажами, выполняющими невозможную физику, часто приводят к сбоям. Негативные промпты также могут конфликтовать с основным промптом, если они слишком широки.
1080p недоступно в быстром режиме
fast_mode: true ограничивает разрешение до 720p. Если вам нужно 1080p, удалите fast_mode или установите его в false.
Параметр style не имеет видимого эффекта
Параметр style документирован как только для v3.5. В запросах V4.5 он может быть молча проигнорирован или давать непоследовательные результаты. Не полагайтесь на него без тестирования вашего конкретного случая использования.
Часто задаваемые вопросы
В чем разница между T2V и I2V для PixVerse V4.5?
T2V генерирует видеоклип полностью из текстового промпта — ввод изображения не требуется. I2V принимает начальное изображение и анимирует его в соответствии с текстовым промптом, используя изображение в качестве первого кадра. Используйте T2V для полностью сгенерированных сцен; используйте I2V, когда у вас есть определенная визуальная отправная точка, которую вы хотите анимировать.
Какая длина видео у PixVerse V4.5?
Клипы имеют длину 5 секунд при 1080p и до 8 секунд при разрешении 720p и ниже. В API нет параметра duration — длина клипа определяется выбранным вами разрешением.
Определяет ли эндпоинт I2V соотношение сторон из изображения?
Да. У I2V нет параметра aspect_ratio. Соотношение сторон выходного видео соответствует входному изображению. Убедитесь, что ваше изображение обрезано до предполагаемого выходного соотношения перед отправкой.
Можно ли отправлять T2V и I2V запросы параллельно?
Да. Каждый запрос возвращает свой собственный независимый task_id. Вы можете отправлять несколько запросов одновременно и опрашивать их параллельно — нет необходимости ждать завершения одного перед отправкой следующего.
Как получить согласованные результаты при разных запусках?
Установите параметр seed на одно и то же целое число. Имейте в виду, что воспроизводимость на основе seed не гарантируется при обновлениях версии модели — сохраняйте URL видео и параметры генерации вместе, если вам нужно впоследствии аудировать результаты.
Подходит ли fast_mode для использования в продакшне?
Это зависит от вашей планки качества. fast_mode: true генерирует видео быстрее и стоит дешевле, но разрешение ограничено 720p, а качество ниже, чем в стандартном режиме. Он хорошо подходит для генерации превью, пакетной оценки и прототипирования; используйте стандартный режим, когда качество вывода является решающим фактором.
