把豆包的图片、视频、3D 生成,装进一个桌面应用

> AstraForge Studio —— 火山方舟 Doubao 系列模型的开源桌面创作客户端
## 一个很小但很烦的问题
火山方舟上的豆包生成模型这两年补得很齐:Seedance 做视频、Seedream 做图片、Seed3D 做三维资产。能力是够用的,但真正上手时会遇到一层摩擦——
想试一个视频创意,要么打开文档翻参数、写一段 Python 调接口,要么在控制台的体验页里点。前者每换一次分辨率就得改代码,后者参数给得有限,而且视频、图片、3D 分散在不同页面,来回切换。
更琐碎的是异步任务:视频和 3D 都是提交后返回 task id,你得自己轮询状态、自己保存结果链接——那些链接还会过期。
AstraForge Studio 想解决的就是这一层摩擦:**把三种生成能力放进同一个桌面应用,参数以表单形式给全,任务状态自动轮询,结果直接预览和下载。**
## 三个工作台,一个窗口
顶部一键切换,三种模态各有独立工作区。
**视频 · Seedance 2.0 系列**
支持 Seedance 2.0、2.0 Fast、2.0 Mini 三个模型,四种生成模式:文生视频、图生视频(首帧)、图生视频(首尾帧),以及多模态参考——最多 9 张参考图 + 3 段参考视频 + 3 段参考音频混合输入。
分辨率、画面比例、时长(4–15 秒)、同步音频、固定摄像机、水印、返回尾帧,都是表单里的一项。提交后每 5 秒自动查询任务状态,成片直接在右侧内联播放,不用先下载再打开。任务排队太久也可以直接取消。
**图片 · Seedream 系列**
Seedream 5.0 Pro / 5.0 Lite / 4.5 / 4.0。文生图、图生图、组图生成都在同一个面板里,参考图最多 14 张。尺寸从 1K 到 4K,输出格式可选 PNG 或 JPEG,还有随机种子、引导强度、提示词优化开关。生成结果以网格铺开,每张都能单独打开、下载、复制链接。
**3D · Seed3D 2.0**
丢一张物体图片进去,输出带纹理和 PBR 材质的三维资产。面数可选低/中/高(10 万 / 50 万 / 100 万面),格式支持 GLB、OBJ、USD、USDZ——直接进 Blender 或者 AR 场景都行。
## 几个我们花了心思的细节
**参数跟着模型能力走,而不是一股脑全给**
这一点看不见,但用起来差别很大。方舟的文档里写得很清楚:`1080p` 只有 Seedance 2.0 支持,Fast 和 Mini 不支持;`4k` 同样仅限 2.0;而整个 2.0 系列都**不接受** `seed` 参数。
很多简易封装会把所有参数一律塞进请求体,结果就是选了 Fast + 1080p,提交后拿到一个语焉不详的报错。AstraForge Studio 按模型能力动态渲染选项——切到 Fast,分辨率列表里就没有 1080p;选中 2.0 系列,随机种子字段直接隐藏,请求里也不会带上它。
**本地图片直接拖进去**
参考图不需要先传到某个图床拿 URL。所有图片输入框都支持点击选择本地文件,或者直接把图拖进去,应用会自动转成 Base64 data URL 提交。首帧、尾帧、3D 参考图还会显示缩略图——粘贴一长串 Base64 之后,至少能确认自己贴对了图。
**密钥只留在本机**
API Key 写入本地配置文件,权限设为 `0600`,不上传任何第三方。所有请求由 Electron 主进程直连火山方舟,既绕开了浏览器的 CORS 限制,也意味着密钥不经过渲染进程。
安全基线上,渲染进程关闭了 Node 集成、开启上下文隔离,页面配了 CSP,应用内导航和新开窗口被拦截,外部链接一律交给系统浏览器打开。
**结果不会悄悄丢**
方舟返回的结果链接是有有效期的。应用会把最近 100 条生成记录存在本机——模型、提示词、状态、结果链接都在里面,随时可以翻出来重新打开或复制。常用参数也会记住,下次启动自动恢复。
## 开始使用
```bash
git clone https://github.com/dobest1024/AstraForgeStudio.git
cd AstraForgeStudio
npm install
npm start
```
国内下载 Electron 二进制可以先设镜像:
```bash
export ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/
```
启动后点右上角「API 设置」填入火山方舟的 API Key 即可。没有 Key 的话,设置弹窗里有一个按钮直接跳转到方舟控制台的 API Key 管理页。
需要安装包的话,`npm run package:mac` 出 macOS Universal DMG,`npm run package:win` 出 Windows x64 安装包。
## 关于这个项目
MIT 协议,代码全部开放:**[https://github.com/dobest1024/AstraForgeStudio](https://github.com/dobest1024/AstraForgeStudio)**
技术栈很朴素——Electron + 原生 JavaScript,没有前端框架,没有构建步骤。主进程负责网络与文件,预加载脚本通过 contextBridge 暴露受限接口,渲染进程只管 UI。想改点什么,clone 下来直接改就能跑。仓库配了 ESLint 与 Prettier,CI 上会跑静态检查。
**也说说现状**:这是 0.1.0,一个能用但还年轻的版本。目前没有自动化测试,安装包未做代码签名(macOS 首次打开需要在「隐私与安全性」里确认,Windows 可能触发 SmartScreen)。批量队列、结果本地归档这些还没做。
如果你正好在用方舟的生成模型,欢迎试一试。有问题提 Issue,有想法提 PR——仓库里有 Issue 和 PR 模板,贡献指南也写好了。
---
原文链接:[点击查看](https://www.v2ex.com/t/1229738)
> AstraForge Studio —— 火山方舟 Doubao 系列模型的开源桌面创作客户端
## 一个很小但很烦的问题
火山方舟上的豆包生成模型这两年补得很齐:Seedance 做视频、Seedream 做图片、Seed3D 做三维资产。能力是够用的,但真正上手时会遇到一层摩擦——
想试一个视频创意,要么打开文档翻参数、写一段 Python 调接口,要么在控制台的体验页里点。前者每换一次分辨率就得改代码,后者参数给得有限,而且视频、图片、3D 分散在不同页面,来回切换。
更琐碎的是异步任务:视频和 3D 都是提交后返回 task id,你得自己轮询状态、自己保存结果链接——那些链接还会过期。
AstraForge Studio 想解决的就是这一层摩擦:**把三种生成能力放进同一个桌面应用,参数以表单形式给全,任务状态自动轮询,结果直接预览和下载。**
## 三个工作台,一个窗口
顶部一键切换,三种模态各有独立工作区。
**视频 · Seedance 2.0 系列**
支持 Seedance 2.0、2.0 Fast、2.0 Mini 三个模型,四种生成模式:文生视频、图生视频(首帧)、图生视频(首尾帧),以及多模态参考——最多 9 张参考图 + 3 段参考视频 + 3 段参考音频混合输入。
分辨率、画面比例、时长(4–15 秒)、同步音频、固定摄像机、水印、返回尾帧,都是表单里的一项。提交后每 5 秒自动查询任务状态,成片直接在右侧内联播放,不用先下载再打开。任务排队太久也可以直接取消。
**图片 · Seedream 系列**
Seedream 5.0 Pro / 5.0 Lite / 4.5 / 4.0。文生图、图生图、组图生成都在同一个面板里,参考图最多 14 张。尺寸从 1K 到 4K,输出格式可选 PNG 或 JPEG,还有随机种子、引导强度、提示词优化开关。生成结果以网格铺开,每张都能单独打开、下载、复制链接。
**3D · Seed3D 2.0**
丢一张物体图片进去,输出带纹理和 PBR 材质的三维资产。面数可选低/中/高(10 万 / 50 万 / 100 万面),格式支持 GLB、OBJ、USD、USDZ——直接进 Blender 或者 AR 场景都行。
## 几个我们花了心思的细节
**参数跟着模型能力走,而不是一股脑全给**
这一点看不见,但用起来差别很大。方舟的文档里写得很清楚:`1080p` 只有 Seedance 2.0 支持,Fast 和 Mini 不支持;`4k` 同样仅限 2.0;而整个 2.0 系列都**不接受** `seed` 参数。
很多简易封装会把所有参数一律塞进请求体,结果就是选了 Fast + 1080p,提交后拿到一个语焉不详的报错。AstraForge Studio 按模型能力动态渲染选项——切到 Fast,分辨率列表里就没有 1080p;选中 2.0 系列,随机种子字段直接隐藏,请求里也不会带上它。
**本地图片直接拖进去**
参考图不需要先传到某个图床拿 URL。所有图片输入框都支持点击选择本地文件,或者直接把图拖进去,应用会自动转成 Base64 data URL 提交。首帧、尾帧、3D 参考图还会显示缩略图——粘贴一长串 Base64 之后,至少能确认自己贴对了图。
**密钥只留在本机**
API Key 写入本地配置文件,权限设为 `0600`,不上传任何第三方。所有请求由 Electron 主进程直连火山方舟,既绕开了浏览器的 CORS 限制,也意味着密钥不经过渲染进程。
安全基线上,渲染进程关闭了 Node 集成、开启上下文隔离,页面配了 CSP,应用内导航和新开窗口被拦截,外部链接一律交给系统浏览器打开。
**结果不会悄悄丢**
方舟返回的结果链接是有有效期的。应用会把最近 100 条生成记录存在本机——模型、提示词、状态、结果链接都在里面,随时可以翻出来重新打开或复制。常用参数也会记住,下次启动自动恢复。
## 开始使用
```bash
git clone https://github.com/dobest1024/AstraForgeStudio.git
cd AstraForgeStudio
npm install
npm start
```
国内下载 Electron 二进制可以先设镜像:
```bash
export ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/
```
启动后点右上角「API 设置」填入火山方舟的 API Key 即可。没有 Key 的话,设置弹窗里有一个按钮直接跳转到方舟控制台的 API Key 管理页。
需要安装包的话,`npm run package:mac` 出 macOS Universal DMG,`npm run package:win` 出 Windows x64 安装包。
## 关于这个项目
MIT 协议,代码全部开放:**[https://github.com/dobest1024/AstraForgeStudio](https://github.com/dobest1024/AstraForgeStudio)**
技术栈很朴素——Electron + 原生 JavaScript,没有前端框架,没有构建步骤。主进程负责网络与文件,预加载脚本通过 contextBridge 暴露受限接口,渲染进程只管 UI。想改点什么,clone 下来直接改就能跑。仓库配了 ESLint 与 Prettier,CI 上会跑静态检查。
**也说说现状**:这是 0.1.0,一个能用但还年轻的版本。目前没有自动化测试,安装包未做代码签名(macOS 首次打开需要在「隐私与安全性」里确认,Windows 可能触发 SmartScreen)。批量队列、结果本地归档这些还没做。
如果你正好在用方舟的生成模型,欢迎试一试。有问题提 Issue,有想法提 PR——仓库里有 Issue 和 PR 模板,贡献指南也写好了。
---
原文链接:[点击查看](https://www.v2ex.com/t/1229738)
评论
暂无评论。