Интеграция Runway ML для генерации видео

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Интеграция Runway ML для генерации видео
Простая
~2-3 рабочих дня
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    854
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Интеграция Runway ML для генерации видео

Runway Gen-3 Alpha — профессиональный инструмент для AI-видео с SDK и REST API. Используется в рекламе, кино, музыкальных клипах. Gen-3 Turbo — 10 секунд видео за 30–60 секунд генерации.

Python SDK интеграция

import runwayml
import asyncio

client = runwayml.RunwayML(api_key="RUNWAY_API_KEY")

async def generate_video(prompt: str, duration: int = 10) -> bytes:
    task = client.text_to_video.create(
        model="gen3a_turbo",
        prompt_text=prompt,
        duration=duration,    # 5 или 10 секунд
        ratio="1280:768",     # или "768:1280" для вертикальных
        seed=42
    )

    # Ждём завершения
    while True:
        await asyncio.sleep(5)
        task = client.tasks.retrieve(task.id)
        if task.status == "SUCCEEDED":
            break
        elif task.status == "FAILED":
            raise RuntimeError(f"Generation failed: {task.failure}")

    # Скачиваем видео
    import httpx
    async with httpx.AsyncClient() as http:
        resp = await http.get(task.output[0])
        return resp.content

# Image-to-Video
async def image_to_video(image_url: str, motion_prompt: str = "") -> bytes:
    task = client.image_to_video.create(
        model="gen3a_turbo",
        prompt_image=image_url,
        prompt_text=motion_prompt,
        duration=10
    )
    # ... polling аналогично

Эффективные промпты для Gen-3

RUNWAY_PROMPT_TEMPLATES = {
    "product_reveal": "cinematic product reveal, {product} slowly rotating, dramatic studio lighting, 4K quality, smooth camera movement",
    "nature_scene": "{scene}, golden hour lighting, gentle breeze, cinematic wide shot, film grain",
    "person_lifestyle": "{subject} in {setting}, natural movement, shallow depth of field, lifestyle photography style",
    "abstract_intro": "abstract motion graphics, {colors} color palette, smooth flowing shapes, professional brand intro",
}

Gen-3 Turbo: ~$0.05 за секунду видео. 10-сек клип — $0.50. Для серийного производства рекламного контента (100+ клипов) выгоднее корпоративный тарифный план. Сроки интеграции — 1–2 дня.