Genjutsu Lite 1.0
把源视频里的物体换成参考图里的,价格更低。
Genjutsu 1.0 的低价版:只做物体替换,分辨率只有 720p 和 1080p(没有 480p)。
mode | 作用 |
|---|---|
replace_object_flash | 物体替换:把源视频中的某个物体换成参考图里的物体 |
创建任务
POST
https://api.nanoapi.ai/v1/tasks用所有模型共用的创建任务接口,model 传 "genjutsu-lite-1.0"。用法和 Genjutsu 1.0 完全一样:从可用余额中冻结费用,接口通常 1–3 秒返回 200 和精简的任务,之后通过回调或 GET /v1/tasks/{id} 获取结果。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | genjutsu-lite-1.0 |
mode | string | 是 | 只能是 replace_object_flash |
video_url | string | 是 | 源视频,4–30 秒,见素材 |
image_urls | string[] | 是 | 1–10 张参考图,见素材 |
prompt | string | 否 | 最长 5000 字符。写清把哪个物体换成什么 |
resolution | string | 否 | 720p(默认)或 1080p,决定价格 |
mode、resolution 传了这个模型不支持的值(例如 motion_control、480p),返回 400 invalid_request,param 是对应的参数名。num_outputs 和 webhook_url 所有模型都一样,见创建任务。
curl https://api.nanoapi.ai/v1/tasks \
-H "Authorization: Bearer $NANOAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "genjutsu-lite-1.0",
"mode": "replace_object_flash",
"image_urls": ["https://example.com/monster.png"],
"video_url": "https://example.com/street.mp4",
"prompt": "Replace the woman walking in front with the furry monster from the reference image",
"resolution": "720p",
"webhook_url": "https://example.com/hooks/nanoapi"
}'响应:200 OK。data 是精简的任务对象,和 Genjutsu 1.0 一样;其他信息用 GET /v1/tasks/{id} 查。
{
"code": 200,
"message": "success",
"data": {
"object": "task",
"id": "tk_01jb8z5q4w3e2r1t0y9u8i7o6p",
"model": "genjutsu-lite-1.0",
"status": "queued",
"billing": {
"currency": "USD",
"frozen": "3.51",
"charged": "0.00",
"refunded": "0.00",
"billed_seconds": null
},
"error": null,
"created_at": "2026-10-22T08:30:00Z"
}
}素材
所有素材都以公开的 http(s) 链接提交。不提供上传接口,请自行托管文件。链接最长 4096 字符,不能指向 localhost 或内网、回环、保留地址。
源视频(video_url) | 参考图(image_urls) | |
|---|---|---|
| 数量 | 1 个 | 1–10 张 |
| 格式 | 能直接下载的 mp4、mov、webm 或 mkv | 常见图片格式 |
| 时长 | 4–30 秒 | – |
| 有问题时 | 打不开、太长或太短:创建接口直接返回 400(见错误),不创建任务、不冻结费用 | 生成时才读取:打不开时任务失败,冻结金额全额退回 |
任务结束前所有链接都要保持可访问,有有效期的链接也不能提前过期。
价格
费用 = 源视频的计费秒数 × 所选分辨率的每秒单价| 分辨率 | 每秒单价 | 30 秒视频 |
|---|---|---|
| 720p | $0.234 | $7.02 |
| 1080p | $0.468 | $14.04 |
计费秒数:源视频的时长(取视频画面和音轨里较长的那个)向上取整到整秒,编码带来的几十毫秒误差不算在内。
例如 720p、15 秒的视频冻结 $3.51,成功后扣 $3.51。冻结和扣费的通用规则见计费。价格可能调整,当前价格以 GET /v1/products 返回的为准,实际费用以返回的 billing.frozen 为准。
错误
这个模型特有的错误。创建任务的全部错误和处理方式见创建任务 → 错误。
| 状态码 | error.type | 何时出现 |
|---|---|---|
| 400 | invalid_request | mode 不是 replace_object_flash,或 resolution 不是 720p / 1080p。param 是对应的参数名 |
| 400 | invalid_media | 源视频读不了:链接打不开或已过期、不是公网地址,或不是支持的视频。details.reason 是具体原因 |
| 400 | video_too_long | 源视频超过 30 秒(details.video_duration) |
| 400 | video_too_short | 源视频不到 4 秒(details.video_duration) |
| 402 | insufficient_balance | 可用余额不够付这次的费用(details.required、details.available) |
| 503 | service_unavailable | 暂时无法计算价格,任务没有创建;按 Retry-After 等待后重试 |
以上错误都不会创建任务,也不会冻结费用。