kind
支持 image、video、audio。它会决定服务端校验规则和后续创建任务时应放入的字段。
Sanbao OpenAPI
https://sanbaobeauty.com
API 调用消耗账号积分。请先在三宝影像工坊注册账号、充值积分,再创建 API Key。
Authorization: Bearer sk_sanbao_xxxxxxxxxxxxx
也可以使用请求头:
X-API-Key: sk_sanbao_xxxxxxxxxxxxx
平台积分换算为 1 元 = 10 积分。创建任务时先扣费;任务失败会自动退回本次扣除的积分。下表会自动同步当前可用模型;已下架或暂不可用模型不会出现在可用列表中。
| model | 名称 | 说明 | 类型 | 画质/比例 | 时长 | 计费 | 素材限制 |
|---|---|---|---|---|---|---|---|
| 正在加载当前可用模型... | |||||||
素材可以传公网 http/https URL、data URL,或 base64 对象。图片单个最大 20MB;视频和音频限制以模型表返回为准。
curl https://sanbaobeauty.com/openapi/v1/me \
-H "Authorization: Bearer sk_sanbao_xxxxxxxxxxxxx"
curl https://sanbaobeauty.com/openapi/v1/models \
-H "Authorization: Bearer sk_sanbao_xxxxxxxxxxxxx"
响应中的 data 只包含当前可用模型。文档页模型表也使用同一份公开模型数据渲染。
文档入口仍为 /docs.html。如果你不想直接提供自己的公网素材链接,推荐先把图片、视频、音频上传到三宝影像工坊,再把返回的地址用于创建任务。
POST /openapi/v1/uploads/raw?kind=image&fileName=ref1.jpg
Authorization: Bearer sk_sanbao_xxxxxxxxxxxxx
Content-Type: image/jpeg
请求体为原始二进制文件,不是 JSON,也不是 multipart/form-data。请根据文件类型设置正确的 Content-Type,例如 image/jpeg、image/png、video/mp4、audio/mpeg。
支持 image、video、audio。它会决定服务端校验规则和后续创建任务时应放入的字段。
建议传原始文件名,便于识别扩展名。示例:ref1.jpg、clip.mp4、voice.mp3。
成功后重点读取 file.url。创建视频或图片任务时,把它放进 images、videos、audios 对应数组即可。
如果客户已有自己的 OSS/CDN 链接,也可以直接传 URL;但更推荐先上传到我们的接口,再创建任务,兼容性更稳。
{
"file": {
"url": "https://sanbaobeauty.com/uploads/xxx",
"kind": "image",
"contentType": "image/jpeg",
"size": 123456
}
}
curl -X POST "https://sanbaobeauty.com/openapi/v1/uploads/raw?kind=image&fileName=ref1.jpg" \
-H "Authorization: Bearer sk_sanbao_xxxxxxxxxxxxx" \
-H "Content-Type: image/jpeg" \
--data-binary "@ref1.jpg"
curl -X POST "https://sanbaobeauty.com/openapi/v1/uploads/raw?kind=video&fileName=clip.mp4" \
-H "Authorization: Bearer sk_sanbao_xxxxxxxxxxxxx" \
-H "Content-Type: video/mp4" \
--data-binary "@clip.mp4"
curl -X POST "https://sanbaobeauty.com/openapi/v1/uploads/raw?kind=audio&fileName=voice.mp3" \
-H "Authorization: Bearer sk_sanbao_xxxxxxxxxxxxx" \
-H "Content-Type: audio/mpeg" \
--data-binary "@voice.mp3"
如果你使用自己的 OSS 链接,仍需要保证三宝影像工坊服务器可以直接公网访问该文件,且不能有防盗链、私有权限、临时签名过期、不支持 Range 读取等限制;否则任务创建后可能无法拉取素材。生产接入时,更推荐先上传到我们的接口,再把返回的 file.url 用于创建任务。
视频生成是异步任务。创建成功后返回任务 ID,再调用查询接口轮询结果。
POST /openapi/v1/videos
Content-Type: application/json
Authorization: Bearer sk_sanbao_xxxxxxxxxxxxx
{
"model": "sd2_9img_full",
"prompt": "高端护肤品商业广告,深夜都市办公室场景,女性对着电脑屏幕加班,镜头缓慢推进,电影级灯光,高级质感",
"ratio": "9:16",
"resolution": "720p",
"duration": 5,
"concurrency": 1,
"reference": "all",
"images": [
"https://example.com/reference-1.jpg",
{
"tag": "图片1",
"url": "https://example.com/reference-2.jpg"
}
],
"videos": [
{
"tag": "视频1",
"url": "https://example.com/reference-video.mp4"
}
],
"audios": [
{
"tag": "音频1",
"url": "https://example.com/reference-audio.mp3"
}
]
}
请以模型表或 GET /openapi/v1/models 返回为准。
不同模型支持的画质不同,请使用模型表中列出的 resolutions 值。
视频比例请使用模型表中列出的 ratios 值。也可以用等价字段 aspectRatio 或 aspect_ratio 传入比例。
按次计费模型按任务扣费;按秒计费模型按实际传入时长计算。可选时长以模型表为准。
all 全能参考,startEnd 首尾帧,face 人物一致。
素材数组既支持字符串 URL,例如 ["https://example.com/reference.jpg"],也支持对象写法,例如 [{"tag":"图片1","url":"https://example.com/reference.jpg"}]。使用对象写法时,提示词里可以写 @图片1、@视频1 或 @音频1 指向对应素材。
并发生成数量可选 1、2、4,默认 1。多任务会按任务数分别扣费。
图片生成是异步任务。创建成功后返回任务 ID,再调用查询接口轮询结果。
POST /openapi/v1/images
Content-Type: application/json
Authorization: Bearer sk_sanbao_xxxxxxxxxxxxx
{
"model": "gpt-image2",
"prompt": "高端护肤品商业海报,玻璃瓶身,柔和棚拍灯光,高级质感",
"aspect_ratio": "16:9",
"images": [
"https://example.com/reference-1.jpg"
],
"quality": "high",
"concurrency": 1
}
请以模型表或 GET /openapi/v1/models 返回为准。
图片接口使用 aspect_ratio。可传比例名,例如 16:9、9:16、1:1,也可传模型支持的具体尺寸值。
参考图数量以模型表为准;图片接口不支持视频或音频参考。
可选 high、medium、low,默认 high。
GET /openapi/v1/videos/{taskId}
GET /openapi/v1/images/{taskId}
curl https://sanbaobeauty.com/openapi/v1/videos/task_xxx \
-H "Authorization: Bearer sk_sanbao_xxxxxxxxxxxxx"
{
"data": {
"id": "task_xxx",
"status": "succeeded",
"progress": 100,
"model": "sd2_9img_full",
"ratio": "9:16",
"resolution": "720p",
"duration": 5,
"image_url": "",
"images": [],
"video_url": "https://...",
"download_url": "https://...",
"link_expires_in": 86400,
"cost": 57,
"error": "",
"created_at": "2026-06-13T00:00:00.000Z",
"updated_at": "2026-06-13T00:02:00.000Z"
}
}
status 可能为 queued、processing、succeeded、failed。失败时请读取 error 字段展示给客户。
任务完成后,每次查询都会返回新的 video_url / download_url,链接为当前有效的签名媒体直链,默认约 24 小时有效;请以 link_expires_in 为准。
| 状态码 | 说明 |
|---|---|
| 400 | 参数错误,例如提示词过短、比例不支持、素材数量超限。 |
| 401 | API Key 缺失、无效或已停用。 |
| 402 | 积分余额不足。 |
| 403 | 账号被限制。 |
| 413 | 素材文件过大。 |
| 429 | 请求过于频繁。 |
| 502 | 模型服务异常,请稍后重试。 |