storytold/artcraft — 交互式 AI 图像与视频创作 IDE
用 2D 画布和 3D 场景控制 AI 图像、视频创作。
本周新增 Star 13,572 | 仓库 Star 总数 35,880 | Forks 5,677
| 项目 | 信息 |
|---|---|
| 官方仓库 | https://github.com/storytold/artcraft |
| 官网 / 下载 | https://getartcraft.com/ |
| GitHub Releases | https://github.com/storytold/artcraft/releases |
| 官方文档 | https://github.com/storytold/artcraft/tree/main/_docs |
| Discord | https://discord.gg/artcraft |
| YouTube 演示 | https://www.youtube.com/watch?v=kzvQMdg66Go |
| 技术栈 | Rust + Tauri(桌面端)+ React/Vite/Nx(前端) |
| 许可 | 双许可:MIT 或 Apache-2.0,任选其一 |
| 最新提交 | 2026-10-22 |
| 一句话定位 | 面向艺术家、设计师与电影人的"意图式创作引擎"——先在 2D 画布与 3D 场景里 搭好场景,再让模型生成 |

▲ 图 0:ArtCraft 官方角色摆位演示(官方截图)

▲ 图 1:Character Posing 演示(官方截图)

▲ 图 2:Mixed Asset Crafting 演示(官方截图)
一、核心概念:Show, Don't Tell
传统做法是"写提示词 → 抽奖"。ArtCraft 的主张是 先搭场景再生成:在 2D 画布与 3D 场景中固定构图、角色身份、相机位置,生成只是最后一步。
高阶创作能力
| 能力 | 说明 |
|---|---|
| Image to Location | 把虚拟角色放入一致的环境中,规划同一房间里的多个镜头 |
| 3D 图像合成 | 在 3D 中叠加背景、前景与道具,构建有纵深的构图 |
| 2D 图像合成 | 用图像图层、背景移除与绘画工具组合场景 |
| Image to 3D Mesh | 把图片转成 3D 物体,可精确定位、旋转、取景 |
| Character Posing | 生成前先摆好角色姿态与相机 |
| Scene Blocking with Kitbashing | 组合 3D 资产包,控制机位、物件摆位与景深 |
| Character Identity Transfer | 用摆好姿态的模特人偶引导角色落位与姿态 |
| Background Removal | 抠出主体作为道具、图层或背景 |
| Mixed Asset Crafting | 在同一场景中混合图像抠图、世界与 3D 网格 |
快速提示词工作流
| 能力 | 说明 |
|---|---|
| Text to Image | 用文本提示词在多种图像模型上探索想法 |
| Prompted Image Editing | 用 Nano Banana Pro、GPT Image 等模型描述性改图 |
| Canvas Image Editing | 用绘画、蒙版与局部重绘精确控制改哪里 |
| Image to Video | 让图像动起来,选择视频模型与生成控制项 |
二、支持的模型与提供方
| 提供方 | 模型 / 工作流 |
|---|---|
| ArtCraft | 图像、视频、音乐与音效、3D 网格、世界空间。完整目录见下 |
| Grok | Grok Imagine、Grok Video |
| Midjourney | Midjourney 图像生成 |
| Sora | Sora 1、Sora 2、GPT Image 1 |
| World Labs | Marble 世界生成(Gaussian splats) |
ArtCraft 内置 62 个模型目录
图像(16)
| 家族 | 模型 |
|---|---|
| Nano Banana | Nano Banana;Nano Banana 2;Nano Banana Pro |
| GPT Image | GPT Image 1.5;GPT Image 2;GPT Image 2.5 Flare;GPT Image 2.5 Sunburst |
| FLUX | FLUX.1 [dev];FLUX.1 [schnell];FLUX 1.1 [pro];FLUX 1.1 [pro] ultra |
| Seedream | Seedream 4;Seedream 4.5;Seedream 5 Lite;Seedream 5.0 Pro;Seedream 5.0 Pro Ultra |
视频(25)
| 家族 | 模型 |
|---|---|
| Seedance | Seedance 1.0 Lite †;Seedance 1.5 Pro;Seedance 2.0 |
| Kling | Kling 1.6 Pro;Kling 2.1 Pro †;Kling 2.1 Master †;Kling 2.5 Turbo Pro;Kling 2.6 Pro;Kling 3.0 Pro †;Kling 3.0 Standard † |
| Veo | Veo 2 †;Veo 3 †;Veo 3 Fast;Veo 3.1;Veo 3.1 Fast;Veo 3.1 Lite |
| Sora | Sora 2 †;Sora 2 Pro † |
| Vidu | Vidu Q3;Vidu Q3 Turbo |
| MiniMax | MiniMax H3;MiniMax H3 Turbo ‡;MiniMax H3 Ultra ‡ |
| Flux | Flux 3;Flux 3 Draft |
音乐与音效(5):Suno Music、Suno Remix、Suno Sounds、Suno Sample、Seed Audio 1.0
3D 网格(11):Hunyuan 3D 2.0 / 2.1 / 3 / 3 Sketch / 3.1 Pro / 3.1 Rapid / 3.1 Part / 3.1 Smart Topology、Tripo3D H3.1、Meshy 6、Rodin 2.5 Fast
世界与 Gaussian splats(5):Marble 1.0 / 1.0 Draft / 1.1 / 1.1 Plus、TripoSplat
† 当前停用 ‡ 受限模型,桌面端暂不可用
计划中的集成:Kling、Google、Runway、Luma 的更多支持,以及 OpenArt、Freepik 等聚合订阅接入。
三、部署方式
方式 A:下载稳定版安装包(推荐)
- Windows 与 macOS 稳定版:https://getartcraft.com/
- GitHub Releases(含最新构建):https://github.com/storytold/artcraft/releases
安装包通常为 .exe(Windows)或 .dmg(macOS),双击安装即可。Linux 需自行从源码构建(见方式 C)。
方式 B:从 GitHub Releases 下载便携包
访问 https://github.com/storytold/artcraft/releases ,下载对应平台的构建产物。macOS 首次打开可能需要:系统设置 → 隐私与安全性 → "仍要打开"。
方式 C:从源码构建(含 Linux)
前置依赖:
| 依赖 | 版本要求 |
|---|---|
| Rust | 最新稳定版(https://doc.rust-lang.org/cargo/getting-started/installation.html) |
| Node.js / npm | Node v24.13.0 可用(编写时实测);脚本要求 Node 20+ |
| Tauri CLI | tauri-cli 2.10.0 可用(编写时实测) |
| Nx / Vite | 前端依赖本地 npm 安装,无需全局 Nx |
macOS / Linux 开发:
git clone https://github.com/storytold/artcraft.git
cd artcraft
# 一个终端里同时启动前端与 Rust/Tauri
./script/artcraft/unix_dev.sh
# 可选:在另一个端口启动空闲端口搜索
ARTCRAFT_DEV_PORT=6200 ./script/artcraft/unix_dev.sh
- 启动器把 Vite 绑定到
127.0.0.1,从端口 5193 起逐个尝试直到可用,不会占用已有监听端口。 - 只有真正绑定前端 socket 后才以该确切
devUrl启动 Tauri;HTTP 与 HMR WebSocket 共用同一端口,Rust 侧走原生 Tauri IPC,无需额外 HTTP 端口。 - 端口隔离 不创建 独立的账号/数据配置。
Ctrl-C会一并停止本次会话的前端、Rust watcher/编译器和桌面应用。
Windows 开发(PowerShell):
git clone https://github.com/storytold/artcraft.git
cd artcraft
# 启动前端开发服务器
.\script\artcraft\windows_frontend_dev.ps1
# 启动 Tauri Rust 应用
.\script\artcraft\windows_rust_dev.ps1
后端服务与网站构建在 独立的
artcraft-services仓库 中。本仓库保留桌面端任务数据库_database/sql/artcraft_migrations/与 SQLite 查询缓存.sqlx/。无数据库服务器时可用SQLX_OFFLINE=true cargo check -p artcraft检查 Rust 代码。
验证启动器(不编译 Rust、不开窗口):
node --test frontend/scripts/unix-dev.test.mjs
四、使用方法
4.1 基本创作流程
- 登录并进入创作界面
- 搭建场景:在 2D 画布中拖入图层,或在 3D 场景中摆位布景
- 设定相机与角色姿态(Character Posing / Scene Blocking)
- 选择模型并生成
- 进入画布精修:绘画、蒙版、局部重绘(Canvas Image Editing)
- 图生视频(Image to Video),调生成控制项
- 导出
4.2 典型工作流示例
多镜头一致性
- 用 Image to Location 把角色放到固定环境中
- 在同一房间内规划多个镜头
- 每次生成都复用同一环境设定,保证跨镜头一致
2D 分层合成
- Background Removal 抠出主体
- 作为图层叠加到背景上
- 用 Canvas Image Editing 的蒙版精确控制局部变化
图转 3D 再取景
- Image to 3D Mesh 把参考图转成 3D 物体
- 在 3D 场景中旋转、定位、调整相机
- 再以该视角生成图像
角色身份迁移
- 用 Character Posing 摆一个模特人偶姿态
- Character Identity Transfer 让你的角色按该姿态落位
- 保持角色身份一致的同时复用构图
4.3 开发者参考
| 路径 | 内容 |
|---|---|
_docs/dev_setup.md |
开发环境搭建 |
_docs/ |
开发者文档总览 |
script/artcraft |
桌面构建与开发脚本 |
ROADMAP.md |
路线图 |
4.4 常见问题
Q:Linux 上怎么装?
官方仅提供 Windows 与 macOS 稳定版,Linux 需从源码构建(方式 C)。构建依赖 Rust + Node + Tauri CLI。
Q:能离线用吗?
需要联网调用模型 API(ArtCraft 自有模型、Grok、Midjourney、Sora、World Labs 等),本地只负责编排与合成。
Q:模型目录从哪来?
目录源自 artcraft-services 仓库中 crates/service/web/storyteller_web/src/configs/omni_gen/ 下的 image_models.rs、video_models/、audio_models.rs、mesh_models.rs、splat_models.rs。