makecindy / makecindy/cindy

为 Seedance 增加全能参考 / R2V 视频参考能力

Open
#3,012 2 comments 0 reactions 0 assignees View on GitHub
feature
Dominant language
TypeScript
Stars
2.7k
Forks
395
Avg merge
21h 48m
Merged PRs (30d)
776

Description

**提交人**: caowei1
**客户端版本**: 0.1.55

---

## 使用场景

用户希望使用 Seedance 生成视频时,上传一个动作参考视频,并可同时上传角色图、服装图、场景图或风格图。参考视频用于保留原视频的动作、运镜、镜头角度、场景与光影,图片用于替换角色或补充视觉风格。

## 当前痛点

当前 Cindy 的 Seedance 适配链路和插件可以接收视频附件,但 Cindy Core 暴露的 `video.image_to_video` 协议只允许 `content` 中的 1–2 张图片,分别作为首帧或尾帧,并明确不接受 `reference_video`。因此视频会在底层接口被拒绝,无法实现 Seedance 产品中的全能参考/R2V 工作流。

## 诉求

新增 Seedance 全能参考 / R2V 媒体能力,使 Agent 能传入:

- `reference_videos[]`:参考视频数组
- `reference_images[]`:角色、服装、场景或风格参考图数组
- `reference_audios[]`:可选音频参考数组
- `prompt`、`duration`、`resolution`、`ratio`、`audio` 等生成参数

Seedance 2.5 的素材上限应按官方能力支持:最多 10 个视频、30 张图片、10 个音频,所有参考素材总数不超过 50。不同模型的限制不应被硬编码为统一上限,应由 Core 根据模型能力动态返回并校验。

## 建议方案

1. 新增能力标识,例如 `video.reference_to_video` 或 `video.r2v`。
2. Core 负责视频/图片/音频附件转存、格式与大小校验、模型能力协商、参数映射、任务轮询、计费和结果入库。
3. 插件只负责整理用户意图、附件用途和顺序,不直接持有模型凭证或提交底层请求。
4. 参考素材应支持明确的用途标注,或允许提示词通过 `[Video 1]`、`[Image 1]` 等编号引用。
5. 当当前模型或账号不支持 R2V 时,返回明确的 `MODEL_CAPABILITY_UNAVAILABLE`,不要静默降级为首帧图生视频。
6. 可保留用户主动选择的“近似模式”:在用户明确同意后才提取首帧作为替代输入。

## 验收标准

- 1 个参考视频 + 3 张参考图可以成功提交并生成。
- 能够区分首帧/首尾帧图生视频与视频参考 R2V 两种能力。
- 超过模型限制时返回可操作的参数错误。
- 不支持 R2V 时前端和 Agent 能看到明确原因,而不是笼统的图片格式错误。
---
**版本区域**: CN
**OS**: win32 x64 (10.0.19045)
**界面语言**: zh-CN

Contributor guide

Open the contributing guide

Research direction

Start by locating the Cindy Core `video.image_to_video` protocol, the Seedance adapter, and the related plugin path; no specific files or tests are named in the issue. Trace how attachments, model capabilities, validation, task polling, billing, and results are handled. Done means the documented R2V inputs and model-specific limits work, unsupported capability errors are explicit, and the listed acceptance cases pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
ai, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.