短剧工作室的创作流程,正在从单机拼素材升级为团队协作生产。较常见的状态是:几个人共用一台设备传递工程文件,AI 模型要么全走网页端,要么各自用本地工具,脚本、角色设定和分镜描述散落各处。JaceCanvas 这次大更新,把 API、本地、服务器三种模型接入方式统一到同一套连接体系里,正是为了解决这个协作问题。
新版本的思路并不复杂:画布里每一个 AI 节点不再直接绑定某一个模型服务商,而是先选择一个连接器。连接器决定请求发到远程 API、发到本机 Ollama,还是发到工作室自建的 JaceCanvas Server。这样同一张画布可以混合使用多个模型来源,换服务商时不用重做节点,短剧项目组也能按角色、按素材敏感程度分配不同的运行后端。
下面按照“理解架构、准备环境、配置 API、加载本地模型、接入服务器、落地工作流、排查故障、固化规范”的顺序展开。前两节偏概念和准备,第三节开始都是可以直接照着做的内容。
1. 先理解这次更新的核心:画布内容与模型后端解耦
1.1 JaceCanvas 是一条内容编排链路,不是单机画图板
很多创作者第一次接触 JaceCanvas 时,会把它理解为“一个可以拖图层的画布”。但在短剧工作室里,它的作用更接近“分镜生产流水线”:左侧放剧本段落、人物小传、场景描述、参考图,中间用节点把素材连接起来,右侧让 AI 模型生成台词润色、画面提示词、角色设定图或视频片段。
这种工具本质上是一个内容编排系统。画布上的节点负责两类事情:
- 内容节点:保存文本、图片、视频片段、标签等素材。
- 处理节点:把前面的素材作为输入,交给某个模型或算法处理后,再输出给后面的节点。
处理节点要能工作,必须知道“去哪里调用模型”。旧版本常见做法是每个处理节点在配置里写死一个服务商 SDK,例如直接填 DeepSeek 的 API Key 或某个本地脚本地址。短剧项目一旦多了,问题马上出现:
- 同一个角色设定,想在 DeepSeek、智谱、本地开源模型之间对比效果,需要逐个节点改配置。
- 外地团队成员连不上工作室电脑上的本地模型,只能退回网页版手动复制粘贴。
- 想给整个项目统一设置模型参数,没有中心化入口,只能靠人工同步。
这次更新把模型访问统一收敛为“连接器”。画布节点不再关心背后是哪个服务商、哪台机器,它只需要知道连接器的名字和模型名。连接器负责处理协议差异、鉴权、超时和错误信息,并把结果以统一格式返回给节点。
1.2 API、本地、服务器三种模式分别解决什么问题
三种模式不是竞争关系,它们对应短剧工作室不同阶段的资源诉求。
| 模式 | 模型运行位置 | 成本结构 | 数据边界 | 典型使用场景 |
|---|---|---|---|---|
| API 模式 | 模型服务商的远端服务器 | 按 Token 或按次计费,有免费额度但生产用量会付费 | 请求内容会发送到第三方服务,使用前要确认数据协议 | 快速验证模型效果、跑高质量长文本、补充本地模型不擅长的能力 |
| 本地模式 | 本机或工作室内网 GPU 机器 | 没有单次调用费用,但需要购买算力硬件、维护环境 | 数据不出工作室,适合未公开剧本和敏感角色资料 | 离线创作、隐私素材处理、高频低成本的批量文案生成 |
| 服务器模式 | 自建服务器或云主机上的 JaceCanvas Server | 需要承担服务器、存储、带宽和备份成本 | 数据集中在服务器统一管理,可控性最强 | 团队多人协作、统一素材库、统一权限和任务调度 |
这里的核心取舍点是“数据边界”和“成本结构”。短剧的核心资产是剧本、人物关系和分镜设计思路,这些内容一旦发给外部 API,就进入服务商的处理链路。公开发布前的半成品脚本是否适合外发,工作室要提前判断。本地模式能规避这个问题,但对硬件和部署运维能力有要求。服务器模式则更像是把整个工具搬到团队内部,让成员不直接接触模型服务商,而是通过 JaceCanvas Server 统一分发请求。
1.3 对短剧工作室来说,这次更新的真正价值
短剧工作室使用 AI 的痛点是“混合调用”。编剧起草台词时,希望用上下文能力强的远程大模型;角色一致性测试时,希望本地模型不泄露角色设定;渲染和批量生成时,又希望团队所有人共用同一个任务入口。
三端打通后,工作室可以按内容类型规划路径:
- 剧本初稿、世界观大纲:适合 API 模式,快速、长上下文、生成质量相对稳定。
- 角色小传、未公开分镜:适合本地模式,防止重要创意外流。
- 团队共用的素材库、交付文件、历史版本:适合服务器模式,集中存储。
使用时要避免一个误区:不要把所有模型请求都集中在一个模式上。API 不等于“最好”,本地模型也不等于“绝对安全”。关键看请求内容是什么、谁能访问运行环境、失败后如何重试。
注意:连接器只是打通了网络和协议,并没有自动解决内容安全。请求发到远程 API 前,仍要阅读服务商的数据使用条款;发到本地模型前,也要确认模型权重本身的许可协议是否允许商用。
2. 环境准备:先安装工具,再确认三种底座各自的前置条件
2.1 安装 JaceCanvas 并先找到连接中心
不同操作系统的安装包不同,但新版本基本都会提供桌面客户端和服务端安装包。安装完成后,先不要急着建项目,打开设置页面找到“连接中心”或“连接器管理”入口。如果入口名称不同,直接在应用内搜索“API”或“连接”通常也能定位。
建议在开始配置前记录当前版本号。版本号会影响菜单名称和字段结构,后续排错时,版本信息可以帮助判断问题是配置错误还是版本差异。新旧版本升级后,如果发现原来的连接器不见了,大概率是配置结构不兼容,需要按新版的字段重新填写。不要用旧版本的导出配置直接覆盖新版,先对比字段再导入。
2.2 API 模式要准备四类信息
API 模式配置前,需要向模型服务商确认四类信息,缺一个都会导致节点运行失败:
- API Key:用于鉴权的密钥,通常在服务商控制台创建。
- Base URL:API 的请求地址,通常是包含版本号的路径。
- 可用模型名列表:服务商支持的模型名称,必须与服务商文档一致。
- 计费规则和速率限制:确认每分钟请求数、上下文长度、超出后的表现。
如果是在公司或工作室环境中通过统一网关访问模型,还需要确认网关要求的请求头格式,例如是否要额外填写工作空间 ID 或项目 ID。JaceCanvas 的连接器一般会提供请求头扩展字段,这类信息可以写在那里。
准备 API Key 时,不要直接把它填写在多人共享的演示画布里。连接器配置通常只保存在本机配置文件中,但团队协作时会同步项目文件。如果项目文件打包了密钥,等于把密钥连同画布一起发给了所有成员。正确做法是先确认连接器是否支持引用环境变量或系统密钥串,如果支持,优先使用环境变量。
2.3 本地模式要准备一个可用的模型服务
本地模式并不是把模型文件直接拖进 JaceCanvas。JaceCanvas 作为画布客户端,需要通过本地模型服务提供的 HTTP 接口来调用模型。目前比较常用的方案有两种:
- Ollama:启动快、命令简单,适合在单机或内网 GPU 服务器上部署开源模型。
- LM Studio:提供图形界面,适合先在 Windows 或 macOS 机器上手工加载模型并测试效果。
准备 Ollama 环境时,建议先确认版本和服务状态:
ollama --version ollama list如果已经拉过模型,ollama list会输出模型名、标签和大小。此时可以启动服务并检查接口是否可访问:
curl http://127.0.0.1:11434/api/tags正常返回时,会在终端看到类似 JSON 的模型列表。如果返回连接拒绝,说明 Ollama 服务没有启动,需要在终端运行ollama serve或通过系统服务启动。
本地模式在开发环境可以只跑在127.0.0.1,但如果要让工作室其他成员也使用这台机器上的本地模型,需要让服务监听局域网地址。Ollama 可以通过环境变量控制监听地址:
OLLAMA_HOST=0.0.0.0 ollama serve改为监听所有网卡后,必须同时考虑访问控制。不要直接把监听地址暴露到公网,否则任何人都可能调用你的模型并消耗算力。实践中更稳妥的做法是在内网使用,或在前面加一层只允许工作室 IP 访问的防火墙规则。
2.4 服务器模式要准备一台可用于部署的主机
服务器模式依赖 JaceCanvas Server 服务端。它负责接收客户端的画布和节点请求,再统一转发到 API 或本地模型。部署前要准备一台 Linux 主机,建议至少 2 核 4GB 内存,如果还要在服务器上直接跑本地模型,则要根据模型参数量配置相应的 GPU 显存。
先梳理一个环境检查清单:
| 检查项 | 学习环境 | 工作室生产环境 |
|---|---|---|
| 操作系统 | Windows、macOS、Linux 均可 | 建议 Ubuntu 22.04 LTS 或兼容 Linux |
| 客户端版本 | 最新稳定版 | 与团队成员统一固定版本 |
| API Key | 可用测试额度即可 | 使用独立项目或子账号,不要用个人 Key |
| 本地模型服务 | 能返回模型列表即可 | 确认 GPU、显存、并发能力和磁盘空间 |
| 服务器端口 | 只在本机测试可不开放 | 按安全组白名单开放,并配置 HTTPS |
| 数据备份 | 不强制 | 必须有数据目录定期快照和恢复演练 |
| 账号权限 | 单人使用 | 按编剧、分镜、剪辑、管理者拆分角色 |
这个清单最大的作用是避免在部署阶段把学习环境配置直接当成生产配置。学习环境可以容忍“密钥写在配置文件里、数据不备份、服务没有日志”,生产环境不能容忍。进入第 5 节前,建议先把上表逐项核对完。
3. API 模式接入:把主流模型供应商变成同一个画布节点
3.1 新增一个 API 连接器的标准流程
进入连接中心后,选择“新增连接器”,再选择 API 类型。JaceCanvas 里的连接器通常兼容 OpenAI Chat Completions 协议,因此多数模型服务商可以按同一套字段填写。字段名称可能因版本不同略有区别,但核心结构一致。
新增连接器需要完成三件事:
- 连接器名称:给工作室内部看的名字,建议按用途命名,例如“剧本-api”或“测试环境”。
- 服务地址与鉴权:填写 Base URL 和 API Key。
- 默认模型与参数:填写模型名称和合理的默认值。
这里的关键是“节点只认连接器名称,不认服务商地址”。因此建议给连接器命名时带上用途,而不是服务商名。例如一个连接器可以对应同一个服务商下面不同的模型策略,命名成“长文本-剧本草稿”比“DeepSeek-国内节点”更清晰,后续切换服务商时,画布节点不需要改动。
3.2 关键参数说明
API 连接器参数中最容易出问题的不是 API Key,而是 Base URL 和模型名。下面表格列出了需要重点确认的参数:
| 参数 | 说明 | 注意事项 |
|---|---|---|
| Base URL | 模型服务的 HTTP 访问地址 | 要确认是否包含/v1,不同服务商开放接口路径不完全一致 |
| API Key | 调用模型时的身份凭证 | 不要含换行,不要在前后加多余空格,复制时最好手动前后补齐 |
| 模型名 | 远端服务的模型标识 | 必须和服务商文档一致,不能自己猜,也不要粘贴中文名 |
| Temperature | 采样随机性,越高越发散 | 短剧文案建议先 0.7,角色一致性任务降到 0.2 左右 |
| Max Tokens | 单次生成的最大 Token 数 | 不是模型整体的上下文长度,它只是限制本次输出长度 |
| Timeout | 请求超时时间 | 长剧本分析建议调大,短提示词可以保持默认 |
| 附加请求头 | 网关、工作空间需要的自定义头 | 没有网关需求时保持为空 |
配置时最容易出现的错误是“Base URL 多写了一层路径”。例如服务商文档给出的是https://api.example.com/v1/chat/completions,但在连接器里应该填写https://api.example.com/v1,而不是把完整的chat/completions也填进去。连接器通常会自动拼接/chat/completions。把完整接口路径填进去,反而会导致请求地址多出一段,返回 404。
3.3 一个典型的 API 连接器配置示例
下面是一个基于 OpenAI 兼容协议的连接器配置示例,用来说明结构。实际字段以安装版本界面为准:
{ "connector": { "name": "api-longtext-script", "type": "openai-compatible", "baseUrl": "https://api.example.com/v1", "apiKey": "sk-xxxxxxxx", "models": [ "deepseek-chat", "glm-4-plus" ], "request": { "temperature": 0.7, "maxTokens": 4096, "timeoutSeconds": 120 } } }这段配置的用意是定义“一个用于长文本生成的外部 API 连接器”。name字段会在画布节点下拉框里显示;models数组是可选择的模型列表,不是同时调用多个模型;request中的参数是画布节点未指定参数时的默认值。
模型名这一项在这里只做了示例展示。实际部署时,要以模型服务商控制台或文档中给出的精确名字为准。部分服务商在 API 返回错误中会列出支持的模型名,例如出现the supported api model names are ...这样的提示时,是服务端在告诉你当前账号可用的模型标识,直接复制返回内容里的模型名即可,不要自己补后缀或加空格。
3.4 在画布里验证 API 节点
新增完连接器后,不要直接开始搭复杂画布,先建一个最小验证项目:
- 新建空白画布。
- 添加一个文本输入节点,手动输入一段短剧台词草稿。
- 添加一个 AI 处理节点,连接器选择刚才新增的 API 连接器,模型选择目标模型。
- 把文本输入节点连接到 AI 处理节点,提示词模板写成“请把下面的台词改得更口语化,保留人物性格:{}”。
- 运行节点,查看输出。
如果输出正常,说明 API 连接器已经打通。此时可以把提示词模板中的内容换成真正的分镜描述,验证长文本处理效果。如果第一次调用失败,先看错误信息,尤其是 HTTP 状态码:
- 401 一般表示 API Key、Token 不匹配或已失效。
- 400 通常表示请求参数有问题,最常见的是模型名错误或上下文超出长度。
- 404 通常表示 Base URL 拼接错误,路径与真实接口不匹配。
- 429 表示触发了速率限制,需要降低并发或等待配额恢复。
注意:不要把 API 返回的“400 上下文长度超限”当成普通报错直接忽略。短剧分镜文本往往很长,一旦单次输入超过模型窗口,最直接的方法不是硬拆,而是按场景、按镜头重新组织输入块,或者换用上下文更长的模型。
3.5 API 模式最容易踩的三个坑
第一个坑是公网 API 请求里的敏感内容。剧本、分镜、人物关系在传输过程中会到达服务商机房,即使只用于调试,也可能被服务商按协议留存。建议在接入 API 前,把未公开的项目文件切到本地模式处理,只把不涉及核心创意的通用润色任务发送到远程 API。
第二个坑是直接使用订阅网页版的 Cookie 或临时 Token 作为 API Key。网页版和 API 版的鉴权体系往往不通用。如果服务商要求独立创建 API Key,就按文档创建,不要尝试从浏览器里复制请求头仿造。
第三个坑是模型名被写错。大模型供应商经常更新模型标识,旧版模型名可能下线,新版模型名要重新申请或开通。如果画布某一天突然报模型不可用,先去服务商控制台确认模型名是否已经变更,确认连接器里填的是新模型名。
4. 本地模型加载:让剧本和分镜素材留在工作室内部
4.1 什么时候应该用本地模式
本地模式适合四类情况:
- 剧本还未定稿,不想让外部服务提前接触上下文。
- 团队希望通过大量低成本调用做文案批量改写。
- 工作室所在环境的网络不稳定,远程 API 时延波动大。
- 模型服务商不提供某些能力,需要使用开源模型做实验。
本地模式的成本看起来是“免费调用”,但实际成本是硬件和维护。运行一个 7B 到 14B 参数的开源模型,至少需要 16GB 到 32GB 内存或对应显存。没有 GPU 的机器也能运行小模型,但速度会明显下降。实际项目中不建议追求在办公笔记本上跑大模型,可以把本地模型服务装在一台专用机器上,所有成员通过内网访问。
4.2 用 Ollama 拉取模型并注册到 JaceCanvas
Ollama 是配置本地模式最快捷的路径之一。先选择一个模型并下载:
ollama pull qwen2.5:7b上面的模型名只是示例。不同时间点的可用模型会变化,实际执行前先在 Ollama 模型库确认完整名称和你需要的量化版本。
拉取完成后,确认服务处于运行状态:
curl http://127.0.0.1:11434/api/tags返回 JSON 包含models数组时,说明服务可用。接下来回到 JaceCanvas 连接中心,新增本地连接器,配置如下:
- Base URL:
http://127.0.0.1:11434/v1 - API Key:
ollama(部分兼容实现只需要占位,不需要真实鉴权) - 模型名:与
ollama list输出的名称保持一致
这里使用/v1是因为 Ollama 额外提供 OpenAI 兼容接口。JaceCanvas 这类连接器通常按照 OpenAI 协议拼请求,因此本地地址也要指向兼容端点,而不是直接填根地址。
拉取模型后,需要真正临时“变成”某个模型。如果 Ollama 已加载,直接请求即可。如果模型在第一次请求时才开始加载,会明显等待更长时间。建议在正式使用前先运行一次节点,让模型加载到内存,再进入批量处理。
4.3 用 LM Studio 作为桌面临时替代方案
如果工作室成员需要在没有 Ollama 的机器上快速验证本地模型,可以使用 LM Studio。它提供图形界面,先加载模型文件,再在 Local Server 面板启动本地 API 服务。启动后复制服务地址,通常是:
http://127.0.0.1:1234/v1把该地址填入 JaceCanvas 本地连接器即可。LM Studio 的主要作用是降低换模型成本。你可以在界面中直接切换不同模型文件,不需要频繁修改连接器配置,因为端口和协议保持不变。切换模型后,记得确认当前加载的是哪一个,否则会出现“连接成功但输出内容风格与预期模型不符”的问题。
4.4 本地模式最容易出的四个问题
本地模式的排错链路比 API 模式更偏环境。常见现象和原因如下:
| 问题现象 | 常见原因 | 检查方式 | 处理方式 |
|---|---|---|---|
| 连接成功但提示模型不存在 | 填写的模型名与本地模型实际名称不一致 | 执行ollama list查看精确名称 | 使用列表里的完整名称,包括版本号标签 |
| 请求后快速报上下文长度超限 | Ollama 默认上下文字段小于模型可支持值 | 查看服务端启动日志或模型加载信息 | 通过 Modelfile 或 API 参数设置num_ctx |
| 第一次请求等了很久 | 模型没有预加载,请求时才加载 | 观察运行节点前的系统资源占用 | 先跑一次预热请求,再进入正式流程 |
| 画布内报连接拒绝 | Ollama 服务未启动或监听地址不对 | 检查curl http://127.0.0.1:11434/api/tags | 启动 Ollama 或设置OLLAMA_HOST=0.0.0.0 |
本地模型“无法访问”这个问题,还要区分是本机访问还是局域网访问。工作室其他电脑要通过http://192.168.x.x:11434访问时,需满足三个条件:
- Ollama 服务监听在
0.0.0.0,而不是默认的127.0.0.1。 - 防火墙允许对应端口访问。
- JaceCanvas 连接器里填的是服务机器的局域网 IP,而不是
127.0.0.1。
如果已经配置OLLAMA_HOST=0.0.0.0,仍然外部访问失败,优先检查防火墙和网络连通性,不要反复修改连接器参数。
4.5 本地模式的越权风险
本地服务监听在局域网后,工作室的每台电脑都能直接调用。这意味着任何能访问该端口的人都可能消耗 GPU 资源。建议做好最小防护:
- 只在可信内网开放,不要映射到公网。
- 如果路由器或交换机支持访问控制,配置只允许工作室网段访问。
- 定期查看本地服务日志,确认是否有异常调用来源。
- 如果本地模型需要承载大量成员请求,建议在 JaceCanvas Server 后面统一接入,而不是让每台客户端直连 GPU 机器。
5. 服务器模式:把 JaceCanvas 变成团队共享工作台
5.1 为什么短剧工作室需要服务器模式
API 模式解决“模型从哪来”,本地模式解决“数据不出门”,服务器模式解决的是“多人如何围绕同一个创作项目协作”。
没有服务器模式时,工作室团队往往这样工作:
- 编剧本地安装一套 JaceCanvas。
- 美术又装一套,素材靠网盘传递。
- 分镜脚本改了几版后,谁也说不清哪个是最终版。
服务器模式通过部署一个 JaceCanvas Server,让所有成员通过客户端连接到同一台服务器。画布数据、素材文件、模型调用记录都集中在服务器上,客户端只负责编辑和展示。这个架构最直接的好处是项目文件不再依赖个人电脑,成员更换设备后重新登录即可继续工作。
5.2 服务器模式的基础拓扑
服务器模式的逻辑链路如下:
成员 A 客户端 成员 B 客户端 成员 C 客户端 | v JaceCanvas Server(画布数据、素材文件、权限、模型转发) | +----+---------------------------+ | | | API 连接器 本地模型服务 素材存储目录客户端不直接连接模型服务商,而是把 AI 节点运行请求提交给 JaceCanvas Server。JaceCanvas Server 读取连接器配置,再决定请求转发到哪个后端。这样做的好处是 API Key 不需要分发到每个成员电脑上,所有密钥集中在服务器端,方便回收和更换。
5.3 使用容器方式部署 JaceCanvas Server
具体安装方式以 JaceCanvas 服务端安装包或镜像说明为准。本文用一个 Docker Compose 示意,帮助理解需要关注的数据目录、端口和环境变量:
services: jacecanvas-server: image: your-registry/jacecanvas-server:latest container_name: jacecanvas-server restart: unless-stopped ports: - "8080:8080" volumes: - ./data:/data - ./logs:/logs environment: - JACECANVAS_DATA_DIR=/data - JACECANVAS_PUBLIC_URL=https://canvas.example.com - JACECANVAS_DISABLE_REGISTER=falseJACECANVAS_DATA_DIR用于指定素材和项目数据的位置,生产环境必须挂载到宿主机持久化目录,否则容器重建后数据会丢失。JACECANVAS_PUBLIC_URL是客户端访问服务端的公开地址,配置反代后要改成真实域名。JACECANVAS_DISABLE_REGISTER表示是否允许自助注册,工作室内部建议开启邀请或管理员创建账号。
镜像名称和变量名是示例,具体以官方文档为准。部署前先确认端口 8080 没有被占用,并保证宿主机磁盘空间足够存放分镜素材和历史项目数据。
部署完成后,在浏览器访问服务器的健康检查或登录页面。如果页面能正常返回,说明服务端基础功能已经起来。随后在客户端中新增“服务器连接”,填写地址https://canvas.example.com或内网地址http://192.168.x.x:8080,使用服务器管理员创建的账号登录。
5.4 用 Nginx 为 JaceCanvas Server 增加 HTTPS
生产环境不要直接暴露 HTTP 端口。建议用 Nginx 做反向代理,把客户端流量加密到 HTTPS,再转发到 JaceCanvas Server。一个最基本的 Nginx 配置如下:
server { listen 443 ssl; server_name canvas.example.com; ssl_certificate /etc/nginx/ssl/canvas.example.com.pem; ssl_certificate_key /etc/nginx/ssl/canvas.example.com.key; client_max_body_size 1024m; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }client_max_body_size要调大,因为短剧画布中的分镜图片和视频片段体积会明显大于普通网页资源。如果不调大,超过默认 1MB 的素材上传会直接返回 413。
HTTPS 配置完成后,客户端中的服务器地址必须改成https://开头。否则一部分客户端可能上报“连接不是私密连接”或“请求被阻止”。
5.5 服务器模式上线前的安全底线
服务器模式集中了项目数据和模型密钥,上线前至少完成六件事:
- 修改服务端默认管理员密码。
- 为每个成员创建独立账号,按角色控制读写权限。
- 关闭公网自助注册,成员账号由管理员创建。
- 配置数据目录自动备份,至少每天备份一次。
- 检查日志目录是否记录关键操作,例如素材删除和模型调用失败。
- 设置服务器时间同步,避免 Token 校验因时间偏差失效。
另外要区分开发环境和生产环境。开发环境为了省事,可能直接允许所有客户端访问,也不开 HTTPS。生产环境必须按上述底线执行,否则一旦服务器被扫描到,数据和模型 Key 会成为首要攻击目标。
6. 短剧工作室落地:从单人画布到多人生产
6.1 按角色拆分项目视图
短剧工作室里的角色不是对称的。编剧关注剧本、台词和人物弧光,美术关注角色设定图像和参考图,剪辑关注分镜顺序和片段衔接。服务器模式下,项目应该按角色拆分目录或协作空间。
建议初始目录结构如下:
项目名称/ ├── 01-scripts/ # 剧本、分集大纲 │ ├── sitcom-01.md │ └── sitcom-02.md ├── 02-characters/ # 人物小传、角色设定图 │ ├── male-lead.png │ └── female-lead.png ├── 03-storyboards/ # 分镜草稿与镜头顺序 │ └── episode-01/ ├── 04-assets/ # 美术素材、参考图、BGM ├── 05-exports/ # 成片、宣传物料 └── 06-templates/ # 常用提示词模板,共享给全员这个结构不是强制标准,但能避免素材和脚本混在一个目录里。服务器模式下载或打开项目时,客户端会按此结构同步。
6.2 最小工作流:从剧本段落生成分镜提示词
下面用一个最小工作流说明 API、本地、服务器如何协同,步骤如下:
| 步骤 | 操作内容 | 使用模式 | 说明 |
|---|---|---|---|
| 1 | 导入剧本段落 | 服务器 | 编剧把最新稿上传到01-scripts |
| 2 | 调用长文本模型拆分镜头 | API | 用外部大模型理解剧情,生成镜头序号和画面描述 |
| 3 | 生成角色一致性描述 | 本地 | 角色资料只在本地处理,不发给外部服务 |
| 4 | 将分镜画布同步到服务器 | 服务器 | 客户端保存后,服务器开始统一存储 |
| 5 | 成员各自动态预览 | 服务器 | 美术、剪辑按需打开画布,不互相覆盖 |
实际画布操作中,差异主要在节点提示词上。剧本拆镜头节点可以把提示词设计为:
你是一个短剧分镜师。请根据下面的剧情段落,生成 5 个镜头。 每个镜头包含:场景、景别、人物动作、台词、画面提示词。 要求:不要添加原文不存在的情节。 剧情段落:{script}{script}是 JaceCanvas 画布节点从上游内容节点读取的变量。画布节点运行时,会把上游文本替换进提示词模板,然后请求对应连接器。
6.3 素材与脚本版本管理
短剧项目迭代很快。一天可能改三版剧本,角色发型或服装也会频繁调整。服务器模式集中保存的是“当前最新版本”,但历史版本同样重要。建议养成以下习惯:
- 修改重要剧本前,先复制为带日期的新文件。
- 素材文件用语义化命名,例如
ep01-scene03-morning-v3.png。 - 删除素材前先放到“待删除”目录观察一段时间,不要直接清空。
- 定期在服务器端做一次项目快照,并记录版本说明。
JaceCanvas Server 如果自带版本历史功能,尽量启用。如果正式版还没有提供,只能通过外部备份机制弥补。此时目录结构要足够规范,否则恢复后找不到哪个节点对应哪个素材。
6.4 画布分享与交接提示
画布是 JaceCanvas 的最小工作单元。交接画布时,不要把整个服务器目录发给新成员,而是让他们直接通过服务器打开项目。打开后,先检查右侧连接器列表是否可以全部解析。如果发现某些节点绑定的连接器没有同步到这个账号,节点会显示为不可用状态。
为了让交接顺畅,建议在团队内部约定连接器命名的全局规范:
| 连接器名称 | 实际用途 | 后端类型 |
|---|---|---|
| api-strong-text | 长文本高质量生成 | 外部 API |
| api-image-draft | 画面草稿快速出图 | 外部图像 API |
| local-char-secret | 角色资料保密处理 | 本机 Ollama |
| local-audio-subtitle | 字幕文案批量润色 | 本机 Ollama |
| server-render | 团队共用渲染服务 | JaceCanvas Server |
每个 JaceCanvas 客户端都配置相同名称的连接器后,画布从一台电脑迁移到另一台电脑时,节点不需要重新选择连接器。如果其他成员没有配置同名连接器,画布会提示缺少连接器,这种问题在实际协作中最常见。
7. 三端联调排错:按链路逐层定位问题
7.1 先判断问题属于哪一层
三端打通后增加了排错复杂度。同一个节点运行失败,可能是客户端配置问题、连接器参数问题、网络问题、模型服务问题或服务器账号问题。不要直接在画布里反复点运行,建议按层排查。
| 故障层 | 典型现象 | 关键排查对象 |
|---|---|---|
| 客户端配置层 | 节点没有输出、节点一直转圈 | 画布节点输入、提示词模板、变量引用 |
| 连接器配置层 | 请求返回 404、401、400 | Base URL、API Key、模型名 |
| 网络链路层 | 超时、连接拒绝、SSL 错误 | 内网连通性、防火墙、HTTPS 证书 |
| 模型服务层 | 上下文长度错误、模型无响应 | 模型窗口、显存、服务端日志 |
| 账号权限层 | 登录失败、节点无权执行 | Token、成员角色、管理员配置 |
定位故障时,建议先打开 JaceCanvas 的日志面板或导出日志文件,找到最近一次失败请求的错误堆栈。不要凭界面上的“运行失败”四个字猜原因,日志中的 HTTP 状态码和错误文本比界面提示可靠得多。
7.2 按五步链路逐层检查
第一步,检查输入端。将 AI 处理节点上游暂时改为固定文本,直接手动输入一小段内容。如果固定文本能运行、真实素材不能运行,原因大概率在素材内容或上游节点输出结构,例如输入太长或字段为空。
第二步,检查连接器端点。先在命令行用 curl 手动请求服务端接口,排除 JaceCanvas 自身因素。例如对于本地 Ollama 服务:
curl http://127.0.0.1:11434/api/tags对于 API 连接器,可以用服务商提供的接口示例测试。如果 curl 能通、JaceCanvas 不能通,重点检查连接器字段是否复制完整。
第三步,检查鉴权信息。登录失败时,不要立刻怀疑服务器配置错误。先确认账号状态、Token 是否过期、服务器与客户端时间是否偏差过大。时间不同步会导致基于时间的 Token 校验失败。
第四步,检查模型名和上下文。当服务端返回类似the supported api model names are ...的信息时,说明当前账号支持列表中没有你填写的模型名。复制服务端返回的准确模型名重新配置。如果错误是上下文长度超限,需要减少单次输入或者换更大窗口的模型。
第五步,检查服务器端日志。使用服务器模式时,错误日志主要看 JaceCanvas Server 所在机器的日志。客户端只负责显示,真正的鉴权端口映射、数据读写和模型转发都在服务端完成。如果服务端日志里连请求都没到,说明问题在网络链路或 Nginx 配置。
7.3 快速排错表
下面整理了三端联调中最高频的几类问题,可以直接对照处理:
| 问题现象 | 常见原因 | 定位方式 | 处理建议 |
|---|---|---|---|
401 login failed或类似提示 | Token 失效、账号未启用、时间偏差 | 检查账号状态和服务器时间 | 重新生成 Token,或同步服务器时间 |
404请求地址不存在 | Base URL 填写了完整接口路径 | curl 对比真实接口地址 | 在连接器只填写协议、域名和版本前缀 |
400 context length | 输入 Token 数加上输出限制超过模型窗口 | 查看错误消息中的最大窗口数字 | 裁剪输入块、增大上下文或减少输出限制 |
| 模型不存在 | 模型名与远端不一致 | 查看服务商返回的支持模型列表 | 复制返回信息中的准确名称 |
| 本地模型连接拒绝 | Ollama 未启动或监听地址不对 | 本机执行 curl api/tags | 启动 Ollama,或设置OLLAMA_HOST=0.0.0.0 |
| 局域网电脑访问不了本地模型 | 防火墙拦截、填了 127.0.0.1 | 在另一台电脑 ping 服务机器 | 填服务机内网 IP,放行端口 |
| 服务器模式上传素材失败 | Nginx 请求体积限制过小 | 查看是否返回 413 | 调大client_max_body_size |
| 画布运行成功但输出为空 | 提示词模板引用了空变量 | 检查上游节点是否真正输出文本 | 先固定输入文本验证节点本身 |
7.4 故障排查的优先级建议
按经验排序:
- 先看输入内容是否正确,因为节点问题常常被误判为模型问题。
- 再确认模型名称,这是三端配置中错误率最高的字段。
- 接着检查上下文长度,短剧分镜经常把大量文本塞进同一个节点。
- 然后排查网络和端口,本地部署最容易在监听地址上出错。
- 最后看账号权限和服务端日志,服务器模式才需要深入这一层。
不要一上来就怀疑工具 Bug。大多数失败在低层配置检查中就能解决。
8. 生产落地建议:把最容易踩的坑提前堵住
8.1 API Key 和连接器配置必须集中管理
服务器模式最大的优势就是能把密钥从客户端收回来。客户端成员不需要填写任何真实 API Key,所有密钥只存在于 JaceCanvas Server 的配置里。如果当前使用桌面版点对点协作,也要尽量通过环境变量或系统密钥管理工具引用密钥,不要把密钥直接写在画布项目文件中。项目文件在团队中传播一次,密钥就泄露一次。
8.2 按内容类型建立模型路由
不是所有任务都要用最贵、最大的模型。短剧项目中常见任务和推荐模式可以这样规划:
| 任务类型 | 推荐模式 | 考虑因素 |
|---|---|---|
| 剧本大纲、剧情走向建议 | 外部 API | 长上下文、综合能力较强 |
| 台词润色、对白口语化 | 本地模型 | 任务相对简单,本地模型成本低 |
| 角色设定、人物关系梳理 | 本地模型 | 核心 IP,避免外发 |
| 分镜画面提示词生成 | API 或本地均可 | 需要多版本对比时用 API |
| 批量字幕文案生成 | 本地模型 | 量大、重复、敏感词检查可以离线做 |
| 最终合成前的统一渲染 | JaceCanvas Server | 需要多人查看和确认历史版本 |
模型路由不是写死规则。画布中的每一个 AI 处理节点可以在不同连接器之间切换。建议在模板里建立多个同名提示词节点,让成员在同一张画布中观察不同模型输出,而不是反复填写提示词。
8.3 发布前检查清单
一个短剧项目在交付前,建议按下面的清单检查一遍:
| 检查项 | 说明 |
|---|---|
| 素材版权 | 确认背景音乐、图片、字体是否获得商用授权 |
| 角色肖像合规 | 生成内容中涉及真实人物或特定形象时进行人工确认 |
| 文本脱敏 | 确认未公开剧本在 API 模式中发送前已去除身份信息 |
| 模型输出审核 | 对 AI 一键生成的分镜、台词、标题做逐条人工审核 |
| 项目备份 | 确认 JaceCanvas Server 数据目录完成最近一次快照 |