Files
2025-12-13 12:21:10 +08:00

3.5 KiB
Raw Permalink Blame History

Sora 自定义节点功能说明

已实现的功能

✅ 1. Text-to-Video(文本生成视频)

节点名称: SoraTextToVideo

从文本提示生成视频,支持完整的 Sora 参数配置。

主要参数:

  • prompt: 视频描述文本
  • negative_prompt: 负面提示
  • duration_seconds: 视频时长
  • aspect_ratio: 宽高比
  • fps: 帧率
  • guidance_scale: 引导强度
  • seed: 随机种子

✅ 2. Image-to-Video(图像生成视频)

节点名称: SoraImageToVideo

从图像生成视频,完全支持 ComfyUI 的图像输入格式。

支持的图像输入格式:

  • ✅ PIL Image 对象
  • ✅ Numpy 数组(自动处理各种形状)
  • ✅ 文件路径(PNG, JPG, WebP)
  • ✅ Base64 编码字符串

主要参数:

  • image: ComfyUI 图像输入(必需)
  • prompt: 视频描述(必需)
  • 其他参数与 Text-to-Video 相同

✅ 3. Video-to-Video(视频编辑/扩展)

节点名称: SoraVideoToVideo

对现有视频进行编辑、扩展或风格转换。

支持的操作类型:

  • extend: 扩展视频时长
  • edit: 根据提示编辑视频内容
  • inpaint: 视频修复/填充
  • style_transfer: 风格迁移

主要参数:

  • video: 视频文件路径或 base64 字符串(必需)
  • prompt: 编辑描述(必需)
  • operation: 操作类型(extend/edit/inpaint/style_transfer)
  • extension_seconds: 扩展时长(用于 extend 操作)
  • 其他参数与其他节点相同

技术特性

🔧 文件上传支持

  • 扩展了 SoraClient 以支持 multipart/form-data 上传
  • 自动处理图像和视频文件的编码和上传
  • 支持多种 MIME 类型

🖼️ 图像处理

  • 自动格式转换(PIL ↔ Numpy ↔ 文件)
  • 自动处理不同的数组形状(batch, channels-first, channels-last)
  • 自动归一化(0-1 范围转换为 0-255)
  • 自动颜色空间转换(RGBA → RGB)

📹 视频处理

  • 支持多种视频格式(MP4, MOV, AVI, WebM)
  • 支持文件路径和 base64 编码
  • 自动 MIME 类型检测

🔄 轮询机制

  • 所有节点都支持异步任务轮询
  • 可配置的轮询间隔和超时时间
  • 自动状态检测和错误处理

📥 下载支持

  • 可选的视频下载功能
  • 支持目录或文件路径
  • 自动文件命名(使用 job_id)

使用示例

Text-to-Video

# 在 ComfyUI 中直接使用节点
# 输入: prompt = "A beautiful sunset over the ocean"
# 输出: job_id, status, result_json

Image-to-Video

# 连接 ComfyUI 的图像节点到 SoraImageToVideo
# 输入: image (来自 LoadImage 节点), prompt = "Animate this image"
# 输出: job_id, status, result_json

Video-to-Video

# 扩展视频
# 输入: video = "/path/to/video.mp4", operation = "extend", extension_seconds = 5.0
# 输出: job_id, status, result_json

兼容性

  • ✅ 仅使用 Python 标准库(核心功能)
  • ✅ 可选依赖:Pillow(PIL)和 numpy(用于更好的图像处理)
  • ✅ 完全兼容 ComfyUI 的节点系统
  • ✅ 支持所有 ComfyUI 图像格式

API 兼容性

节点设计为与 Sora 兼容的 REST API 配合使用,支持:

  • OpenAI Sora API(当可用时)
  • 自定义 Sora 兼容后端
  • 可配置的 base_url 和 endpoint

错误处理

  • ✅ 清晰的错误消息
  • ✅ API 错误自动捕获和报告
  • ✅ 超时保护
  • ✅ 输入验证

未来可能的扩展

  • 批量处理支持
  • 视频预览功能
  • 更多视频操作类型
  • 实时进度回调
  • 视频质量/分辨率选项