AI 3D建模工具: Tripo 3D | Meshy AI
一句话结论:如果你的产品允许用户上传 3D 模型,你可以不用一块 GPU 就交付产品图、360 转台和短片——上传文件、按事先知道的固定价下单一组产出、等一个 webhook 收链接。对 Agent 来说,关键不在"能不能调起渲染",而在先把价格和上限说清楚,再让它动手。
本文编译 JANCTION Render(JasmyLab Inc. 官方 dev.to 账号)的三篇新文:《Add 3D product shots to your app in 40 lines》(2026-10-12)、《I turned a GLB into a product video from an AI chat》(2026-10-13)、《The cheapest way to render a 1-minute Blender animation without buying a GPU: six options, with measured numbers》(2026-10-13),并做中文整理。作者即服务运营方,实测数字为服务方公布,请结合这一点阅读;本系列上一篇讲的是"本地 Blender MCP vs 云渲染"的整体分工,本篇是它的按次付费流水线续作。
一、Product Video:给一个模型文件,拿回成品短片
输入是 .glb / .fbx / .obj / .usdz,输出是三种规格之一:
- 带字幕和片尾卡的短视频;
- 360 转台(方形);
- 四张产品图(正、四分之三、侧、后)。
服务方公布的实测数字(Khronos 样例模型,CC0):
| 产出 | GPU 秒 | 说明 |
|---|---|---|
| 5 秒 1080p 视频 | 约 220 | GPU 空闲时,下单到交付约 2 分钟 |
| 5 秒 360 转台(方形) | 约 114 | — |
| 四张产品图 | 15 | — |
| 已交付视频改字幕 / 改颜色 | 0 | 不重渲染,0 日元 |
计费方式是理解这套流水线的关键:GPU 按成本价 0.1 日元/GPU 秒 计费,加上一笔固定制作费(合成、字幕、检查与项目文件保存)——5 秒 40 日元、15 秒 90 日元、30 秒 160 日元、5 秒转台 30 日元、四张图 20 日元。商店/素材站常用"清单包"(四图 + 同模型转台)约 64 日元。
报价显示的是上限:交付时按"制作费 + 实际使用的 GPU 秒"结算,差额退回余额。作者首单付费订单报价上限 61 日元、实际收取 53 日元;失败不收费,之前渲染过的镜头复用也不重复扣 GPU。
边界同样明确:不支持从文字直接生成视频,不做人物、不做实拍——必须先有一个 3D 模型;没有模型时可以用 product=sample:water-bottle 免费试几次。
二、Agent 的调用顺序:先报价、后同意、再执行
对 Agent 暴露的 MCP 流程是一条先报价、再确认的链:
plan_video(能做什么) → quote_video(上限、典型价格、预计分钟数)
→ 人确认 → submit_video(带上已同意的价格)→ get_video_outputs
两条护栏值得抄:
- 服务器拒绝与报价不一致的订单——Agent 不能把 61 日元的报价改成别的数字再提交;
- 可以设置单笔与每日上限,也能要求"超过某个金额必须人工点击确认"——而这些限额MCP 工具改不了。
这正是上一篇《Blender 接 AI Agent:MCP 横评与云渲染实测》里"让 Agent 花钱不失控"的延续:Agent 有三个天然的烧钱习惯——重试、挑更大的任务、循环预览——所以报价、额度、幂等重试与人工审批必须由服务方和集成方来兜底,而不是写进提示词里祈祷它听话。
三、把这条流水线接进自己的应用(40 行服务端)
最小可用形态是一个 FastAPI 应用:用户上传 GLB → 服务端转存并下单 → 拿回 job_id → webhook 到货后存链接。关键代码就这几步:
import hashlib, os, httpx
from fastapi import FastAPI, Request, UploadFile
JR = "https://render.janction.jp"
KEY = os.environ["JANCTION_RENDER_API_KEY"] # 一个 key 服务整个应用
H = {"X-API-Key": KEY}
app = FastAPI()
@app.post("/products/{sku}/shots") # 用户上传 GLB,订 4 张产品图
async def order_shots(sku: str, file: UploadFile, request: Request):
data = await file.read()
async with httpx.AsyncClient(timeout=120) as jr:
up = await jr.post(f"{JR}/v1/files", headers=H,
files={"file": (file.filename, data)})
up.raise_for_status()
r = await jr.post(
f"{JR}/v1/outcomes/product-shot",
headers={**H, "Idempotency-Key":
f"shots-{sku}-{hashlib.sha256(data).hexdigest()[:16]}"},
json={"scene_id": up.json()["scene_id"], "size": "square",
"transparent": True,
"notify_url": str(request.url_for("jr_done"))})
if r.status_code == 402: # 余额不足:把充值链接给用户
return {"error": "credit", "pay_at": r.json().get("checkout_url")}
r.raise_for_status()
j = r.json()
return {"job_id": j["job_id"],
"ceiling_yen": j["outcome"]["price_yen"]} # 报价上限
三个生产细节:
Idempotency-Key用"文件哈希 + 业务 ID"拼——Agent 或客户端超时重试时取回同一个任务,而不是排第二个;- 余额不足返回 402 +
checkout_url,人来充值,Agent 用同一个任务重试(和上一篇的四道防护一致); - webhook 只来一次(
job.done/job.failed+artifacts),落库时要能容忍重复投递,并记录报价上限用于对账。
单文件上传上限 100 MB,更大的模型用 scene_url 传链接。同类实现可以直接对照官方的 API guide。
四、六条渲染路线的成本对照(1 分钟动画 = 1,440 帧)
"一分钟"在 24 fps 下是 1,440 帧。所有方案最终都是同一个乘法:单帧时间 × 1,440,区别只在于谁为这段时间买单、谁替你运维。
来源文作者的实测(本机为自己的笔记本,Core Ultra 9 386H):
| 路线 | 一分钟的钱 | 你要付出 | 拿到多久 |
|---|---|---|---|
| 自己的电脑(CPU,1080p/128 samples) | 0 | 设置后离开 | 约 8 小时 |
| 自己的电脑(RTX 5070 Ti,同场景) | 0 | 设置后离开 | 约 2.4 小时 |
| SheepIt 志愿农场 | 0(攒积分) | 上传 | 看队列与积分 |
| Colab 免费 GPU | 免费档 0 | 每次自己配、盯着跑 | 长任务会断连 |
| 按小时租 GPU(RunPod / Vast.ai 等) | 按开机小时 | 自己装环境、传文件、记得关机 | 取决于租到的卡 |
| 商业渲染农场(GarageFarm / RebusFarm / Fox 等) | 按 node-hour / GHz-hour | 网站或插件上传 | 多机并行,快 |
| 按 GPU 秒计费的 API(JANCTION Render) | 约 354~1,286 日元(见下) | 一条命令或一句对话 | GPU 繁忙时排队 |
具体到本机数字:同一简单场景,CPU 在 1080p/128 samples 下 20.0 秒/帧(一分钟约 8 小时),降到 720p/64 samples 是 6.6 秒/帧(约 2.6 小时);这台笔记本的 RTX 5070 Ti 分别是 6.0 秒/帧(约 2.4 小时)和 2.5 秒/帧(约 1 小时)。真实场景的几何、贴图与光线反弹更多,会更慢——单帧 × 1,440 只是下限。
按秒计费这边,服务方公布的三组数字(含 Blender 启动与场景加载,长任务均值会略低):
| 场景 | 每帧 GPU 秒 | 一分钟 GPU 秒 | 一分钟价格 |
|---|---|---|---|
| 简单场景 1280×720 / 64 samples | 2.46 | 3,542 | 约 354 日元(约 $2.2) |
| 简单场景 1920×1080 / 128 samples | 5.39 | 7,762 | 约 776 日元(约 $4.9) |
| Blender Classroom 示例 1080p/128 + 降噪 | 8.93 | 12,859 | 约 1,286 日元(约 $8.1) |
美元换算按 158 日元/美元(ECB 参考汇率,2026-10-09),实际扣费以日元为准。
上限也要先看:免费时间最高 1080p、预付余额可用到 3840×2160;单条指令最多 3,000 帧(按 240 帧切成子任务、归入同一个 job,最后合成一个 MP4,所以一分钟动画是一条命令而不是六个文件);每个任务最多 10 GPU 小时;文件在最后一次使用后 24 小时删除(充过值的 key 为 7 天);GPU 忙时排队,状态页可以看等待时间。从终端到 Agent,官方给的路径是:
pip install janction-render
janction-render preview minute.blend # 免费预览
janction-render estimate minute.blend --frames 1-1440 --size 1920x1080 # 先看报价
janction-render render minute.blend --frames 1-1440 --output mp4 --wait # 再渲染
# 或作为 MCP 接进 Claude Code
claude mcp add --transport http janction-render https://render.janction.jp/mcp
五、怎么选:先回答三个问题
- 要不要改场景? 要——用本地 Blender MCP(云渲染没有场景编辑工具,见上一篇);不要——云渲染。
- 时间值不值钱? 等得起——本机、SheepIt、Colab 这些免费路线;等不起——按秒付费或商业农场。租整机最容易被忽略的成本是"忘了关机的那一晚"。
- Agent 会不会失控? 会——所以只给它报价 + 额度 + 人工审批,别把一张无上限的卡交出去;能关的限额才是限额。
渲染产出的资产进下游之前,用浏览器过一眼是最便宜的质检:拿 3D 模型在线查看器 拖动、旋转、检查材质与面数,不需要装任何软件;要看 glTF 的动画与扩展细节就用 glTF 查看器。
来源
- JANCTION Render / JasmyLab Inc., Add 3D product shots to your app in 40 lines: upload, a fixed-price order, a webhook (JANCTION Render, FastAPI)(dev.to,2026-10-12):https://dev.to/_903a3934b362f0afe2a8/add-3d-product-shots-to-your-app-in-40-lines-upload-a-fixed-price-order-a-webhook-janction-3eej
- JANCTION Render / JasmyLab Inc., I turned a GLB into a product video from an AI chat: 5 seconds, about 60 JPY, and you only pay the GPU seconds used(dev.to,2026-10-13):https://dev.to/_903a3934b362f0afe2a8/i-turned-a-glb-into-a-product-video-from-an-ai-chat-5-seconds-about-60-jpy-and-you-only-pay-the-3hp4
- JANCTION Render / JasmyLab Inc., The cheapest way to render a 1-minute Blender animation without buying a GPU: six options, with measured numbers(dev.to,2026-10-13):https://dev.to/_903a3934b362f0afe2a8/the-cheapest-way-to-render-a-1-minute-blender-animation-without-buying-a-gpu-six-options-with-5341
- 官方页面:价格 | API guide | 产物视频 | 基准 | 状态;代码与客户端:https://github.com/JasmyLab-JANCTION/janction-render
同主题阅读
- Blender 接 AI Agent:MCP 横评与云渲染实测
- Text-to-CAD:让 coding agent 写参数化 Python 产 STEP
- glTF / GLB 完全指南:在线查看与格式转换
- 专题:AI × 3D / 生成式 AI 完全指南
本文由 BimAnt 编译整理,转载请注明出处。
本文属于「AI × 3D」专题。查看专题全部文章 →