2026-09-01 · 原文发布日
用SciDraw把文字提示生成科研插画
手动运行后,工作流把提示词、画幅、分辨率和张数发给 SciDraw AI 建任务;未立即出图就每5秒轮询任务状态,失败或取消会报错,成功后下载第一张插画为 n8n 二进制数据。需自备 SciDraw 密钥与额度,也可改轮询间隔、超时和后续存储节点。
原文要点
来源是 n8n 官方模板库 18972 号免费模板,作者 Davie Chen。流程为手动触发:先在配置节点写入提示词、画幅比例、分辨率、张数和幂等请求 ID,再向 SciDraw AI 发 POST 建图任务并最多等 30 秒看是否立即出结果;若任务仍 queued 或 processing,就每 5 秒轮询任务状态接口直到终态;失败或取消用 Stop And Error 报错,成功后下载第一张插画为 n8n 二进制数据。需自备 SciDraw 账号、额度,以及带 images:generate 和 jobs:read 权限的 API key,凭据类型为 HTTP Header Auth(Authorization: Bearer)。
这次做成什么
在本地 n8n 里搭一条「文字提示 → SciDraw 生成科研插画 → 轮询等结果 → 下载图片」的流程,并用一组虚构的细胞结构图提示词完成一次端到端练习,验证轮询和报错分支都能走到。
准备什么
- 一个 n8n 实例,已启用 HTTP Request、Wait、If、Edit Fields、Stop And Error 节点
- SciDraw AI 账号与足够额度,已生成含 images:generate 和 jobs:read 权限的 API key
- n8n 中已建 HTTP Header Auth 凭据:Header Name 填 Authorization,Value 填 Bearer 加密钥
具体怎么做
导入模板并配置凭据
在 n8n 工作流页导入模板 18972。打开两处 SciDraw 的 HTTP Request 节点(建任务、查状态),在 Credential 下拉框里选中你新建的 HTTP Header Auth 凭据;两处必须选同一个,否则轮询会因鉴权失败中断。
在配置节点填写生成参数
打开 Edit Fields 配置节点,把 prompt 改成你的插画描述(见下方材料中的完整中文提示词示例),aspect_ratio 选 16:9 或 1:1,resolution 按需设置,count 填 1,并给每次运行生成唯一的 idempotency request ID(可用 n8n 表达式 {{$execution.id}} 自动填入,避免重复计费)。
手动执行并观察建任务响应
点击 Execute Workflow。第一个 HTTP Request 向 SciDraw 发 POST 建任务,最多等待 30 秒。若直接返回完成态,流程跳到下载;若返回 queued 或 processing,进入下一步轮询。可在节点输出面板查看返回的 job ID 和 status 字段。
验证轮询与失败分支
If 节点判断 job 状态:非终态时 Wait 节点等 5 秒再调用状态查询接口,循环直至成功、失败或取消。核对连线:status 为 failed 或 canceled 的分支必须接到 Stop And Error,确认其抛出带状态原因的错误信息而不是静默结束;可先静态检查连线再在真实运行中观察一次失败任务的报错输出。
下载插画并接存储
成功分支的最后一个 HTTP Request 会下载第一张生成图,结果出现在节点的 binary 数据中。练习时可直接在输出面板预览下载;之后可自行追加 Write Binary File 或云存储节点把图片落盘,模板本身不含存储节点。
可直接复制的材料
SciDraw 插画生成提示词与配置示例
本站独立编写的配置示例,填入 Edit Fields 节点对应字段;提示词按你的课题替换,分辨率取值需以 SciDraw 文档实际支持的档位为准。
{
"prompt": "科研插图风格:哺乳动物细胞横截面示意图,清晰标注细胞核、线粒体、内质网和高尔基体,扁平矢量配色,浅灰背景,适合论文配图,无文字水印",
"aspect_ratio": "16:9",
"resolution": "2048x1152",
"count": 1,
"idempotency_key": "{{$execution.id}}"
}轮询状态判断逻辑(If 节点条件示例)
本站按原文描述整理的判断逻辑示意,字段名以 SciDraw 实际返回 JSON 为准,请在节点输出里核对 status 的真实拼写后再写条件。
条件1:{{$json.status}} 不等于 succeeded
条件2:{{$json.status}} 不等于 failed
条件3:{{$json.status}} 不等于 canceled
三条同时满足(AND)走 Wait 5 秒回环;status 等于 failed 或 canceled 走 Stop And Error;等于 succeeded 走下载节点。输入与输出示例
本站虚构演示,URL 与文件大小均为编造示意,非真实调用结果。
输入
提示词「科研插图风格:哺乳动物细胞横截面示意图,标注细胞核、线粒体」,aspect_ratio 16:9,count 1,幂等 ID demo-run-0001对应输出
建任务返回 {"job_id":"job_demo_a1b2","status":"processing"};第一次轮询仍为 processing,第二次轮询返回 {"job_id":"job_demo_a1b2","status":"succeeded","files":[{"url":"https://example.invalid/files/illustration_01.png"}]},下载节点得到 binary 数据 illustration_01.png,约 1.2 MB。做完检查这些
- 建任务节点输出面板能看到 job_id 字段且 HTTP 状态为 2xx,说明凭据和权限生效
- 把提示词临时改成空字符串运行,流程应在 Stop And Error 或上游报错处停下,而不是无限轮询
- 成功运行后,下载节点的 Binary 标签页出现至少一个图片文件且可预览
- 两次使用相同幂等 ID 运行时不会重复创建两个计费任务(可在 SciDraw 控制台核对)
容易卡住的地方
- 两处 HTTP Request 必须选同一个 SciDraw 凭据,漏配轮询节点会表现为建任务成功但查询一直 401
- 轮询间隔固定 5 秒、建任务等待上限 30 秒,大图任务可能轮询多轮,不要把 Wait 改成 0 以免触发限流
- 每次 API 调用都消耗 SciDraw 额度,练习时 count 保持 1,避免调试期反复烧额度
- 幂等 ID 若写死同一个值,参数改了也可能拿到旧结果,建议用执行 ID 自动生成
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Generate scientific illustrations from text prompts with SciDraw AI
- 原作者
- Davie Chen
- 原始发布日期
- 2026-09-01T03:00:02.634Z
- 来源
- https://n8n.io/workflows/18972