HiAPI
Блог

Руководство

API Runway для генерации видео из текста: руководство разработчика по вызову Gen-4.5 через hiapi

Описание параметров, написание кинематографичных промптов и рабочий пример запроса к эндпоинту runway-gen-4.5/text-to-video

Oct 31, 2026
文章封面图:暖炭色背景上一条琥珀色宽光带横向掠过,下方有一条橄榄棕色细线,整体扁平克制。

Зачем использовать управляемый эндпоинт генерации видео из текста

Генерация видео из текста не заменяет процесс генерации или редактирования изображений — это другая базовая возможность. Модель изображений даёт вам статичный кадр, который можно обрезать, отредактировать или скомпоновать. Вызов генерации видео из текста даёт вам движение: движение камеры, действие субъекта и меняющийся со временем свет. Если вашему продукту нужен видеоклип — короткий рекламный кадр, фоновый цикл внутри приложения, превью сцены — один вызов «от запроса до клипа» часто является самым быстрым путём от идеи до материала.

Цена этого — контроль. Вы описываете движение словами, а не задаёте его ключевыми кадрами, поэтому модель должна интерпретировать его сама. Это делает качество промпта ещё важнее, чем в задачах с изображениями, а цикл итераций — важнее, чем одна попытка.

Управляемый эндпоинт, предоставляемый через hiapi, избавляет от инфраструктурной работы вокруг этой базовой возможности: вы получаете единообразный интерфейс, единую модель учётных данных и унифицированную структуру ответа для всех вызываемых вами видеомоделей. Вы тратите время на промпты и интеграцию в продукт, а не на конвейеры хранения, опрос задач и SDK разных поставщиков.

Подходящие сценарии:

  • Короткие клипы, генерируемые по требованию на основе пользовательского ввода или шаблонов
  • Быстрое исследование концепций перед вложением в полный производственный конвейер
  • Фоновые материалы и B-roll, которые остаются пригодными, даже если конкретная генерация немного несовершенна

Неподходящие сценарии: любая задача, требующая покадровой точной непрерывности, детерминированного вывода или повествовательной связности на длинных отрезках. Заложите в бюджет несколько кандидатных клипов на каждый пригодный результат.

Структура эндпоинта runway-gen-4.5/text-to-video

Концептуально запрос к runway-gen-4.5/text-to-video состоит из трёх частей: промпта, настроек уровня запроса и вашей идентификации/авторизации. Только первая часть творческая; две другие определяют, как работает модель и как происходит оплата.

Что вы отправляете

  • Строка промпта. Основной творческий ввод — описание субъекта, действия, камеры, освещения и атмосферы на естественном языке.
  • Настройки уровня запроса. Соотношение сторон, длительность и любые флаги генерации, которые предоставляет эндпоинт. Они определяют форму контейнера вывода, а не его содержимое.
  • Заголовок аутентификации. Ваш ключ hiapi, передаваемый при каждом вызове. Считайте его секретом; никогда не публикуйте его в клиентском коде.

Что вы получаете

Генерация видео не происходит мгновенно, поэтому в зависимости от способа вызова эндпоинта вы можете получить дескриптор задачи, который нужно опрашивать, или ответ, разрешающийся в URL медиафайла. В любом случае вы получаете ссылку на сгенерированный клип, а не встроенные исходные байты. Если вам нужно использовать материал после истечения срока действия возвращённого URL, скачайте его и сохраните в собственное хранилище.

Полезная мысленная модель: эндпоинт — это функция, отображающая (prompt, settings) в клип плюс метаданные. Ваша интеграция должна рассматривать его как асинхронный, допускающий повторные попытки и недетерминированный — одинаковые входные данные не всегда дают одинаковые клипы, и это ожидаемое поведение, а не дефект.

Держите формирование запроса простым и скучным. Напишите небольшую внутреннюю обёртку, которая собирает тело запроса, добавляет аутентификацию, отправляет вызов и нормализует ответ до { status, videoUrl, error }. Все последующие разделы руководства предполагают, что эта обёртка уже существует.

Написание кинематографичных промптов, работающих в движении

Расплывчатые прилагательные разрушаются в движении. «A beautiful cinematic shot of a city» не даёт модели ничего анимируемого, и она выдаёт что-то общее и дрейфующее. Решение — явно указать четыре элемента, необходимые оператору: субъект, камера, свет и движение.

Называйте субъект и действие

Укажите, что находится в кадре и что оно делает на протяжении клипа. Дайте начальную точку и подразумеваемую конечную, чтобы у модели была траектория движения.

A lone cyclist rides from left to right along a wet coastal road, 
pedaling steadily as spray kicks up from the rear wheel.

Явно задавайте камеру

Используйте язык операторской работы, который модель может отобразить в движение: медленный наезд, статичный широкий план, ручная камера слежения, нижний ракурс с трекингом, медленная панорама вправо, снижение с воздуха. Одно движение камеры на клип надёжнее, чем три конфликтующих.

Static wide shot, camera at ground level, no zoom.

Задавайте свет и время

Свет определяет большую часть воспринимаемого уровня производства. Укажите источник и характер: рассеянный дневной свет в пасмурную погоду, резкий послеполуденный солнечный свет слева от камеры, практический неон в мокрых отражениях ночью.

Описывайте физически правдоподобное движение

Быстрое движение в коротких клипах размывается. Предпочитайте одно читаемое действие средней скорости множеству быстрых событий. Если вам нужно напряжение, добивайтесь его движением камеры и светом, а не десятком одновременных событий.

Держитесь одного абзаца

Плотный абзац из одного-трёх предложений лучше, чем маркированный список спецификаций. Пишите его как описание кадра, а не как список пожеланий. Избегайте нагромождения стилистических прилагательных; выберите один образ и придерживайтесь его.

Надёжный шаблон:

[Subject + action]. [Camera framing and movement]. [Lighting and time of day]. [Environment and atmosphere].

Прежде чем менять какие-либо настройки, перепишите свой промпт в этот шаблон.

Рабочий запрос по шагам

Это пошаговое руководство предполагает Node.js и функцию-обёртку, но структура не зависит от конкретного языка.

Шаг 1: напишите кадр

A chef slices vegetables on a wooden board in a small kitchen, 
hands moving steadily. Static medium close-up, camera at counter height, 
no zoom. Warm tungsten light from an overhead lamp, soft shadows, 
light steam in the background.

Шаг 2: выберите настройки запроса

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

Шаг 3: отправьте вызов

const res = await fetch(`${HIAPI_BASE}/runway-gen-4.5/text-to-video`, {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.HIAPI_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    prompt: shotPrompt,
    aspect_ratio: '16:9',
    duration: 5,
  }),
});

const data = await res.json();
if (!res.ok) throw new Error(data.error ?? `HTTP ${res.status}`);

Шаг 4: получите клип

Если ответ содержит дескриптор задачи, опрашивайте его с небольшими интервалами с задержкой до достижения конечного состояния. Если он напрямую содержит URL медиафайла, переходите к шагу 5.

Шаг 5: сохраните материал

Скачайте клип и сохраните его под собственным ключом. Относитесь к возвращённому URL как к временному адресу.

Шаг 6: фиксируйте точки принятия решений

Записывайте промпт, настройки и сгенерированный материал вместе. Именно этот журнал делает следующий раздел — тонкую настройку — выполнимым, а не основанным на догадках.

Настройка вывода без изменения промпта

Когда клип разочаровывает, инстинктивная реакция — переписать промпт. Сначала сдержитесь на один цикл. Промпт и настройки — независимые переменные, и изменение обоих одновременно лишает вас возможности определить, какой из них был ключевым.

Изолируйте переменные

Держите промпт фиксированным и измените ровно одну настройку уровня запроса — соотношение сторон, длительность или какой-либо флаг генерации. Запустите снова. Если клип улучшился, проблема была на структурном уровне, а не на творческом. Если не улучшился, откатите эту настройку и вместо этого измените промпт.

Решайте структурные проблемы настройками

  • Композиция не соответствует размещению? Измените соотношение сторон.
  • Действие обрывается до завершения? Увеличьте длительность.
  • Всё дрейфует без опоры? Сократите клип, чтобы у него было меньше времени на дрейф.

Решайте содержательные проблемы правкой промпта

  • Субъект неверный или отсутствует? Назовите его раньше и сделайте конкретным.
  • Камера блуждает? Удалите все слова о камере, кроме одного желаемого движения.
  • Плоско и безжизненно? Добавьте источник света и направление.

Сделайте небольшой A/B-тест

Зафиксируйте исходный промпт, сгенерируйте три варианта, каждый с изменением только одного предложения. Сравнивайте их рядом, а не по памяти. Недетерминированность означает, что один плохой клип не является доказательством; прежде чем признать какое-то предложение вредным, ищите закономерность на двух-трёх запусках.

Записывайте выводы в журнал, который вы уже ведёте. После дюжины итераций он превратится в руководство по промптам и настройкам, специфичное для вашего продукта, и будет гораздо ценнее любого универсального списка промптов.

Отладка типичных сбоев

Большинство сбоев первой недели сводятся к четырём категориям. Путь диагностики для каждой из них различается.

Запрос отклонён или заблокирован

Ответ с кодом не 2xx и информацией о политике означает, что промпт или настройки не были приняты. Читайте тело ответа с ошибкой, а не повторяйте вслепую. Перепишите проблемное описание, удалите именованных реальных людей или бренды и отправьте снова. Записывайте отклонённые промпты дословно — повторяющиеся отказы обычно прослеживаются до привычки в шаблоне промпта.

Тайм-ауты

Генерация видео идёт медленно. Если ваш HTTP-клиент истекает по тайм-ауту до ответа эндпоинта, задача может всё ещё выполняться и тарифицироваться. Увеличьте тайм-аут клиента для вызовов генерации и перенесите опрос в фоновый рабочий процесс, а не держите запрос зависшим.

Пустые или непригодные клипы

Успешный ответ, но без узнаваемого субъекта в клипе обычно означает, что промпт слишком абстрактен. Перечитайте его по шаблону субъект-камера-свет-движение. Если одного из четырёх элементов не хватает, это и есть точка исправления.

Ошибки аутентификации и конфигурации

401 и 403 означают проблему с ключом, а не с промптом. Убедитесь, что ключ присутствует в среде выполнения, а не только в вашей локальной оболочке, и проверьте формат заголовка. Чем раньше обнаружить такие сбои, тем дешевле они обходятся; в производстве они обходятся дороже всего.

Общее правило: классифицируйте ошибку, прежде чем что-либо менять. Ошибки промпта, ошибки настроек и инфраструктурные ошибки требуют разных способов исправления, а их смешение тратит бюджет генерации.

Стоимость, задержка и производственные защитные меры

Перед запуском в производство решите, как эндпоинт должен вести себя при сбоях, потому что генерация видео — самый дорогой и медленный вызов в большинстве продуктов.

Бюджетируйте по клипам, а не по вызовам

Оплата видео обычно привязана к длине вывода, поэтому длинные клипы дороже коротких. Бюджетируйте в единицах готовых клипов — включая повторные попытки и отклонённые кандидаты — а не подсчитывайте вызовы API. Актуальные тарифы смотрите на панели цен; не зашивайте их в бизнес-логику.

Проектируйте с учётом задержки

Никогда не блокируйте пользовательский запрос на генерации. Запускайте задачу, немедленно возвращайте дескриптор и доставляйте клип через опрос, webhook или уведомление. Показывайте прогресс в UI, чтобы медленный рендеринг читался как выполняющаяся работа, а не как зависание. Кешируйте сгенерированные клипы по промпту и настройкам, чтобы избегать повторных запросов на повторную генерацию.

Валидируйте перед генерацией

Дешёвые проверки перед вызовом экономят дорогую обработку после него:

  • Обеспечьте в вашей обёртке минимальную и максимальную длину промпта
  • Отклоняйте промпты, в которых отсутствует субъект или действие
  • Проверяйте соотношение сторон на соответствие цели рендеринга
  • Убеждайтесь, что пользователь находится в пределах своей квоты

Модерируйте на входе и на выходе

Проверяйте текст промпта перед отправкой. Проводите лёгкую проверку возвращённого клипа перед показом. И то, и другое дешевле, чем один инцидент поддержки.

Оставляйте запасной вариант

Если генерация завершается сбоем или занимает слишком много времени, показывайте статичный кадр-обложку или заполняющий клип, а не ошибку. Функциональность должна деградировать, а не прерываться.

Начните с одного эндпоинта, одной обёртки и одного журнала; добавляйте защитные меры по мере того, как узнаёте, где ваш продукт фактически терпит неудачу, и пусть панель цен всегда остаётся единственным источником истины о стоимости.

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

Все статьи →

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

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

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