tufty.aitufty.ai CLI
CLI

本地文件与上传

输入的图片和视频如何上传、抠图,以及数量限制。

输入可以是什么

--product--model--still--motion-videotufty upload 都接受:

  • 本地路径
  • data: URL
  • http(s) 地址

服务端只接受托管在 tufty 存储上的文件,所以 CLI 会先把每个输入变成 tufty 存储地址:

输入CLI 怎么处理
本地文件、data: URL上传到 tufty 存储
static.tufty.ai 上的地址原样使用,不重复上传
其他 http(s) 地址先下载,再上传到 tufty 存储

上传使用服务端签发的地址直传存储。API 密钥只发给 tufty.ai,不会带到存储上传或第三方下载请求里。

先校验,再上传

以下检查在上传之前统一完成,任何一项不通过都不会上传、不会扣费:

  • 输入数量是否符合工具要求(missing_input / too_many_inputs
  • 本地文件是否存在(file_not_found
  • 一次出图的总张数是否超限(too_many_images
  • 选项取值是否在允许范围内(usage_error

自动抠图

图片输入默认先做一次识别与抠图,把主体从背景中分离出来再提交生成,每张输入图 1 积分

  • 图片工具:每张商品图(包括用 + 连接的每一张)和每张模特图各 1 积分;
  • 视频工具:每张静帧 1 积分。--motion-video 参考视频只上传,不抠图。

没识别到主体、或抠图结果不可用时,CLI 会在标准错误中提示,并改用上传的原图继续。已经是干净主体图时,加 --no-cutout 跳过抠图:

tufty background-swap --model ./corgi-cutout.png --no-cutout

同一件商品的多张图

+ 把同一件商品的几张图连起来,作为一件商品提交,最多 4 张:

tufty pet-dressup --product ./hoodie-front.jpg+./hoodie-back.jpg --model ./corgi.jpg
  • 文件名本身含 + 且该文件存在时不会被拆开;data: URL 也不会被拆开。
  • 地址里本身带 + 的,请写成 %2B

数量限制

限制上限
一次 --product 的商品件数(+ 连接的算一件)8
每件商品的图片张数4
一次 --model 的模特图8
一次出图总张数(商品件数 × 模特图数 × --count16
--still 静帧图转视频、运镜控制恰好 1 张;商品短片、萌宠带货 1–9 张

视频完整性检查

上传 mp4、mov、m4v 时,CLI 会先检查文件结构:数据段被截断或缺少 moov 索引时返回 invalid_video(退出码 2),不会把损坏的文件传上去。

tufty upload

tufty upload ./corgi.jpg
tufty upload https://example.com/sweater.jpg --format url

输出 { tool: "upload", data: { url } }。已经在 static.tufty.ai 上的地址原样返回,这种情况不需要登录。得到的地址可以直接作为工具输入,同一张图多次使用时省去重复上传。

On this page