Главная/Блог/Гайд/Seedance 2.5: Открытый исходный код или…
Гайд12 мин чтения · 25 сентября 2026 г.

Seedance 2.5: Открытый исходный код или закрытая модель?

Разбираем статус модели Seedance 2.5 от ByteDance: почему она не является open-source, как работает асинхронный API и где искать веса для локального запуска.

Seedance 2.5: Открытый исходный код или закрытая модель?

В мире генеративного видео вопрос «открытости» моделей стоит острее, чем когда-либо. Разработчики, исследователи и энтузиасты хотят не просто пользоваться сервисом, но и понимать, как работает «черный ящик», иметь возможность дообучать модели на своих данных или запускать их в полностью изолированных сетях. В этом контексте выход модели Seedance 2.5 от ByteDance вызвал огромный резонанс. Однако, несмотря на популярность и мощные возможности, модель остается загадкой для тех, кто ищет прозрачность.

В этой статье мы подробно разберем, действительно ли Seedance 2.5 является open-source проектом, какие шаги предприняла ByteDance для публикации модели и почему текущие репозитории с похожими названиями не содержат весов нейросети. Мы также покажем, как эффективно использовать Seedance через API OpenRouter, разберем технические нюансы асинхронной генерации видео и объясним, почему для некоторых задач локальный запуск пока невозможен.

01Открытые веса против открытого исходного кода: в чем разница?

Прежде чем углубляться в детали Seedance, важно четко разграничить два понятия, которые часто путают: open-weight (открытые веса) и open-source (открытый исходный код). Это различие критически важно для понимания прав и возможностей разработчика.

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

Open-source — это более строгий стандарт. Лицензия должна быть одобрена Инициативой открытого исходного кода (Open Source Initiative, OSI). Такая лицензия гарантирует права на использование, изменение и распространение модели без существенных ограничений. Классический пример — модели семейства Llama или Qwen под лицензиями Apache 2.0 или MIT.

Существуют модели, которые являются open-weight, но не open-source. Например, модель Kimi K3 от Moonshot AI опубликована на Hugging Face, но под собственной лицензией Kimi K3 License, которая не входит в список OSI. В случае с Seedance ситуация еще сложнее: мы не нашли ни опубликованных весов, ни какой-либо модели лицензии для версий 2.5, 2.0, 2.0 Fast, 2.0 Mini и 1.5 Pro.

💡
Важно понимать. Если вы видите проект с названием "Seedance" на GitHub, но в нем нет файла с весами (обычно это большие бинарные файлы или ссылки на Hugging Face), то это, скорее всего, клиент для удаленного API, а не сама модель. Такие проекты не позволяют запускать генерацию на вашем оборудовании.

02Где мы искали веса Seedance?

Чтобы дать однозначный ответ на вопрос об открытости, мы провели тщательное расследование, проверив четыре основных источника, где ByteDance обычно публикует свои разработки.

1. Официальные страницы ByteDance

Страница запуска Seedance 2.5 и страницы моделей Seedance 2.5 и 2.0 описывают доступ через сервисы Jimeng AI, Doubao и API через BytePlus ModelArk. Ни на одной из этих страниц нет ссылок на чекпоинты (weights), репозитории с кодом модели или лицензионные соглашения. Модель представлена исключительно как хостинговый продукт.

2. Организация ByteDance-Seed на GitHub

На момент написания статьи в организации ByteDance-Seed на GitHub находится 63 публичных репозитория. Среди них есть такие известные модели, как Seed-Coder, Seed-OSS, BAGEL и SeedVR2. Однако ни один из этих репозиториев не содержит модель Seedance. Поиск по ключевым словам "Seedance" в этой организации также не дал результатов.

3. Организация ByteDance-Seed на Hugging Face

Аналогичная ситуация наблюдается на платформе Hugging Face. В организации ByteDance-Seed находится 59 публичных репозиториев, включающих те же модели (Seed-Coder, Seed-OSS и др.). Поиск по автору "ByteDance-Seed" и запросу "Seedance" возвращает пустые результаты. Это сильное косвенное доказательство того, что веса не опубликованы.

4. Каталог OpenRouter

В нашем каталоге модели Seedance представлены в пяти вариантах. Для каждой модели есть поле hugging_face_id, которое заполняется, если издатель опубликовал чекпоинт. Для всех пяти моделей Seedance это поле имеет значение null. Хотя это и не является абсолютным доказательством (так как каталог отражает только то, что мы знаем), в сочетании с другими фактами это подтверждает отсутствие публичных весов.

Seedance 2.5: Открытый исходный код или закрытая модель?
Визуализация возможностей модели Seedance 2.5 в генерации видео
Визуализация возможностей модели Seedance 2.5 в генерации видео

03Что скрываются за названиями "Seedance" в репозиториях?

Если вы поищете "Seedance" в Hugging Face или GitHub без фильтра по автору, вы найдете несколько результатов. Однако важно понимать, что это за проекты.

Мы изучили репозитории с названиями вроде Seedance-2-AI-Video-Generator и Seedance-API. Например, один из таких репозиториев на Hugging Face содержит всего два файла: .gitattributes и README.md. В описании явно указано, что модель хостится исключительно на платформе автора, и пользователям не нужно скачивать веса. Это описание хостингового сервиса, а не релиза модели.

Та же картина наблюдается в проектах на GitHub, называющихся "Seedance generator" или "open-source Seedance", а также в узлах ComfyUI. Все они работают как клиенты, обращающиеся к удаленному API. Инструкция по установке обычно начинается с просьбы ввести API-ключ. Если первый шаг — это ввод ключа, значит, проект не запускает ничего на вашем компьютере, а лишь отправляет запросы на сервер провайдера.

Это не делает эти проекты бесполезными. Они удобны для быстрого тестирования. Но они не отвечают на вопрос об open-source. Вы наследуете условия использования, ценообразование и политику конфиденциальности того хостингового провайдера, к которому обращаетесь.

04Когда чекпоинт (weights) необходим?

Понимание того, что Seedance не является open-source, критично для трех основных сценариев использования, которые требуют наличия локальных весов модели.

1. Офлайн-инференс и изолированные сети (Air-gapped)

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

2. Дообучение (Fine-tuning) на собственных данных

Чтобы обучить модель на ваших собственных видеороликах, вам нужен доступ к параметрам нейросети. Без публичных весов Seedance вы не сможете провести дообучение. Это ограничивает возможность кастомизации стиля или поведения модели под специфические задачи.

3. Самохостинг для соблюдения требований к данным (Data Residency)

Некоторые компании требуют, чтобы данные не покидали их регион или инфраструктуру из-за нормативных требований (GDPR, законы о защите данных). Запуск модели в своем регионе под вашим контролем требует наличия весов. Использование хостингового доступа, даже через OpenRouter, означает, что запрос обрабатывается провайдером, и данные временно находятся на их серверах.

Если один из этих сценариев является для вас критическим, Seedance в текущем виде не подходит. Вам стоит рассмотреть модели, которые публикуют чекпоинты, такие как Kimi K3 или некоторые версии Qwen 3.8 (хотя это текстовые модели). Для видео-моделей с открытыми весами стоит проверять поле hugging_face_id в списках видео-моделей.

⚠️
Важно: Zero Data Retention. Генерация видео не поддерживает функцию Zero Data Retention (полное отсутствие хранения данных) в OpenRouter. Провайдер должен хранить готовый файл до его скачивания пользователем. Если ваша рабочая область или запрос требуют ZDR, видео-запросы не будут маршрутизироваться. Это еще одна причина, почему open-source модели с локальным запуском важны для некоторых команд.

05Пять моделей Seedance в каталоге OpenRouter

Несмотря на отсутствие open-source статуса, OpenRouter предоставляет доступ к пяти версиям моделей Seedance через провайдера "Seed". Ниже приведена таблица с параметрами, актуальными на 11 сентября 2026 года.

Модель Входные модальности Длительность Разрешение Кадровые изображения Аудио
bytedance/seedance-2.5 Текст, изображение, аудио, видео 4-30 сек 480p, 720p Первый и последний Да
bytedance/seedance-2.0 Текст, изображение, аудио, видео 4-15 сек 480p, 720p, 1080p, 4K Первый и последний Да
bytedance/seedance-2.0-fast Текст, изображение, аудио, видео 4-15 сек 480p, 720p Первый и последний Да
bytedance/seedance-2.0-mini Текст, изображение, аудио, видео 4-15 сек 480p, 720p Первый и последний Да
bytedance/seedance-1-5-pro Текст, изображение 4-12 сек 480p, 720p, 1080p Первый и последний Да

Seedance 2.5 — единственная модель, поддерживающая длительность более 15 секунд (до 30 секунд). Seedance 2.0 — единственная, поддерживающая разрешение 4K. Seedance 2.0 и 1.5 Pro поддерживают 1080p. Ценообразование осуществляется за видео-токены. В модели 2.5 есть отдельные тарифы для задач с аудио, без аудио и с видео-входом. Для детального расчета стоимости клипа рекомендуется ознакомиться с нашим обзором Seedance 2.5.

Seedance 2.5: Открытый исходный код или закрытая модель?

06Как использовать Seedance через OpenRouter API

Генерация видео в OpenRouter работает асинхронно. Это означает, что вы отправляете запрос, получаете ID задачи и ждете завершения. Видео рендерится на стороне провайдера, а вы либо опрашиваете статус, либо получаете вебхук.

Шаг 1: Отправка запроса (Submit)

Вы отправляете POST-запрос на https://openrouter.ai/api/v1/videos. Обязательные поля: model и prompt. Опциональные поля включают duration, resolution, aspect_ratio, frame_images (для контроля первого и последнего кадра), input_references, generate_audio, seed и callback_url (для вебхуков).

Ответ будет содержать статус 202 Accepted с объектом, содержащим id задачи, polling_url и статус pending.

terminaljson
{
  "id": "abc123",
  "polling_url": "https://openrouter.ai/api/v1/videos/abc123",
  "status": "pending"
}

Важно: Отправка запроса начинает начисление оплаты. Если ваш HTTP-клиент по умолчанию повторяет запросы при таймаутах или ошибках 5xx, это может привести к созданию второй платной задачи. Отключите повторные попытки (retries) для вызова отправки, но оставьте их включенными для опроса статуса, так как это операция только для чтения.

Шаг 2: Ожидание и опрос (Wait & Poll)

Опрашивайте polling_url с интервалом. Статус будет меняться с pending на in_progress, а затем перейдет в одно из четырех терминальных состояний:

  • completed: файл готов.
  • failed: произошла ошибка (поле error содержит описание).
  • cancelled: задача отменена.
  • expired: время ожидания истекло.

Если вы указали callback_url, OpenRouter отправит HTTPS POST на этот URL при достижении терминального состояния, и опрос можно будет пропустить. Обратите внимание, что событие может быть доставлено более одного раза, поэтому дедуплицируйте запросы по заголовку X-OpenRouter-Idempotency-Key (формат: -).

Шаг 3: Скачивание (Download)

При статусе completed в ответе появится массив unsigned_urls. Ссылки в этом массиве не являются предварительно подписанными. Вам нужно отправить тот же заголовок авторизации Authorization: Bearer $OPENROUTER_API_KEY, что и при отправке запроса.

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

terminalbash
curl "https://openrouter.ai/api/v1/videos/abc123/content?index=0" \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
--output seedance.mp4

07Полный пример на TypeScript

Ниже приведен пример кода на TypeScript, который отправляет запрос на генерацию 20-секундного клипа Seedance 2.5, опрашивает статус каждые 30 секунд и скачивает результат. Код использует SDK OpenRouter, где поля REST API преобразуются в camelCase (например, generate_audio становится generateAudio).

Seedance 2.5: Открытый исходный код или закрытая модель?
terminaltypescript
import { writeFile } from "node:fs/promises";
import { OpenRouter } from "@openrouter/sdk";

const apiKey = process.env.OPENROUTER_API_KEY;
if (!apiKey) {
  throw new Error("Set OPENROUTER_API_KEY first.");
}

const openRouter = new OpenRouter({ apiKey });

const job = await openRouter.videoGeneration.generate(
  {
    videoGenerationRequest: {
      model: "bytedance/seedance-2.5",
      prompt: "A slow dolly shot along a rain-soaked market street at dusk, lanterns reflecting in puddles, realistic motion",
      duration: 20,
      resolution: "720p",
      aspectRatio: "16:9",
      generateAudio: true,
    },
  },
  { retries: { strategy: "none" } }, // Отключаем повторные попытки для отправки
);

console.log(job.id, job.status);

let current = job;
while (!["completed", "failed", "cancelled", "expired"].includes(current.status)) {
  await new Promise((resolve) => setTimeout(resolve, 30_000));
  current = await openRouter.videoGeneration.getGeneration({ jobId: job.id });
  
  if (current.status !== "completed" || !current.unsignedUrls?.[0]) {
    throw new Error(current.error ?? `Video generation ${current.status}.`);
  }
}

async function downloadWithRetry(url: string): Promise {
  const deadline = Date.now() + 120_000; // 2 минуты
  let lastError = "no attempt made";
  
  while (Date.now() < deadline) {
    try {
      const response = await fetch(url, {
        headers: { Authorization: `Bearer ${apiKey}` },
        signal: AbortSignal.timeout(deadline - Date.now()),
      });
      
      if (response.ok) {
        return Buffer.from(await response.arrayBuffer());
      }
      
      lastError = `HTTP ${response.status}`;
      await response.body?.cancel();
    } catch (error) {
      lastError = error instanceof Error ? error.message : String(error);
    }
    await new Promise((resolve) => setTimeout(resolve, 5_000));
  }
  
  throw new Error(`Download failed after retrying for 2 minutes. Last error: ${lastError}`);
}

await writeFile("seedance.mp4", await downloadWithRetry(current.unsignedUrls[0]));
console.log("Saved seedance.mp4", current.usage?.cost);

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

08Что это значит на практике

Для большинства пользователей, которым нужна качественная генерация видео без необходимости управления инфраструктурой, Seedance 2.5 через OpenRouter — отличный выбор. Вы получаете доступ к передовым возможностям, таким как длительность до 30 секунд и поддержка аудио, с простой интеграцией через API.

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

Мы продолжаем следить за развитием проекта Seedance. Если ByteDance опубликует веса или изменит лицензию, мы обязательно обновим эту статью. А пока Seedance остается мощным, но закрытым инструментом, доступным через хостинговые платформы.

09Часто задаваемые вопросы (FAQ)

Является ли Seedance 2.5 open-source?

Нет, в источниках, которые мы могли найти, это не так. Страница запуска Seedance 2.5 и страница модели описывают доступ через Jimeng AI, Doubao и API BytePlus ModelArk. Они не ссылаются на чекпоинты или модель лицензии. Организации ByteDance-Seed на GitHub и Hugging Face публикуют другие модели, но не Seedance, и ни одна из пяти записей Seedance в нашем каталоге не имеет идентификатора Hugging Face.

Является ли Seedance 2.0 open-source?

Мы также не нашли опубликованных весов или модели лицензии для Seedance 2.0, Seedance 2.0 Fast или Seedance 2.0 Mini. Страница Seedance 2.0 от ByteDance представляет модель как хостинговый продукт, а официальные репозитории ByteDance-Seed на GitHub и Hugging Face не включают ее.

Можно ли запустить Seedance локально?

Нет, ни одного артефакта, который мы могли бы найти. Запуск модели на вашем собственном оборудовании требует наличия чекпоинта, и мы не нашли его ни для какой версии Seedance. Проекты на GitHub и Hugging Face с названиями Seedance, которые мы изучили (например, репозиторий Hugging Face Seedance-2-AI-Video-Generator), являются сторонними обертками, не опубликованными ByteDance. Они вызывают хостинговый API и требуют от вас вставки API-ключа.

Где найти сравнение качества?

Для оценки качества вывода, стоимости за клип и сравнения Seedance 2.5 с Seedance 2.0, Wan 3.0 и Veo 3.1, пожалуйста, прочитайте наш подробный обзор Seedance 2.5.

10Ссылки

Источник: OpenRouter ↗