按能力
图片
选模型、复制请求、拿到图片。下面的内容都跟着你选的模型变。
#1. 选模型
doubao-seedream-5-0-pro$0.02928 / 次异步任务限制和状态
这个能力有 12 个在线模型,切换后下面的代码会跟着变。
#2. 复制请求
把 YOUR_API_KEY 换成你的密钥再运行。显示的选项都是这个模型支持的。
https://www.aisplice.store/v1/images/tasksBearer API key异步任务选项这里只展示当前模型已公开支持的选项。
# Requires curl and jq
API_KEY="${API_KEY:-YOUR_API_KEY}"
# 1. Submit once
SUBMITTED=$(curl --fail-with-body -sS https://www.aisplice.store/v1/images/tasks \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: model-docs-$(date +%s)-$$" \\
-d '{
"model": "Seedream 5.0 Pro",
"prompt": "A cinematic scene with careful composition",
"size": "auto",
"resolution": "1K",
"n": 1,
"output_format": "jpeg",
"watermark": false,
"optimize_prompt_options": {
"mode": "standard"
}
}')
TASK_ID=$(printf '%s' "$SUBMITTED" | jq -r '.task_id // .id // empty')
if [ -z "$TASK_ID" ]; then
printf '%s\n' "$SUBMITTED" >&2
exit 1
fi
echo "task_id=$TASK_ID"
# 2. Poll until terminal
while true; do
STATUS_JSON=$(curl --fail-with-body -sS \
"https://www.aisplice.store/v1/images/tasks/$TASK_ID" \
-H "Authorization: Bearer $API_KEY")
STATUS=$(printf '%s' "$STATUS_JSON" | jq -r '.status // empty' | tr '[:upper:]' '[:lower:]')
echo "status=$STATUS"
case "$STATUS" in
completed|succeeded|success) break ;;
failed|failure|cancelled|canceled)
printf '%s\n' "$STATUS_JSON" | jq .
exit 1
;;
esac
sleep 3
done
# 3. Fetch the final result
curl --fail-with-body -sS \
"https://www.aisplice.store/v1/images/tasks/$TASK_ID/content" \
-H "Authorization: Bearer $API_KEY" | jq .生产环境推荐使用公网媒体地址。 先上传本地文件,再把 public_url 放入模型请求;避免发送大体积 Base64 请求体。
查看上传指南全部参数
这个模型支持的全部字段和可选值。
全部参数
这个模型支持的全部字段和可选值。
model本次请求使用的精确模型标识。
doubao-seedream-5-0-propromptGeneration/editing instruction. Optional only when layer_decomposition is true. Point and box tags use normalized 0..1000 coordinates.
imagesOptional reference image URLs or data URIs, up to 10. Layer decomposition and transparent editing require exactly one image.
sizeauto, 1K, 1.5K, 2K, a supported aspect ratio, or an exact WIDTHxHEIGHT value. Exact pixels must total 921600..4624220.
resolution请求的输出分辨率。
1K1.5K2Kn1响应流程
查看任务状态、终态和结果响应示例。
响应流程
查看任务状态、终态和结果响应示例。
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "image.task",
"model": "Seedream 5.0 Pro",
"status": "queued"
}{
"created": 1720000000,
"data": [
{
"url": "https://media.example/result.png"
}
]
}等待中
queued · submitted · in_progress · processing
成功
completed · succeeded · success
失败
failed · failure · cancelled · canceled
#3. 拿到结果
提交后马上返回 task_id。每隔几秒查一次,直到 status 变成 completed;也可以传 webhook_url,完成后我们回调你。
GET https://www.aisplice.store/v1/images/tasks/{task_id}
GET https://www.aisplice.store/v1/images/tasks/{task_id}/content
成功才扣费
#出错了怎么办
- 400 并提示某个字段:这个模型不支持该选项,用第 2 步列出的取值。
- 内容被模型拒绝:换个说法重写提示词;被拒绝的请求不扣费。
- 402:余额不够这次请求,到「钱包」充值后重试。
- 429:请求太快,按 Retry-After 给的秒数等一下再试。
- 503 model_not_found:模型名写错了或模型暂时下线,从第 1 步重新选一个。
#参考图
在第 2 步列出的参考图字段里填公开的图片地址。本地文件先上传,再用返回的地址。
做进你的产品里先给你的用户放哪些选项,哪些以后再加。
先给用户放哪些选项先放提示词和一个影响价格的选项,基础流程跑通后再加其他的。+
创作意图
像 prompt 这样的字段应该出现在 UI 中,因为用户能直接理解它会改变什么结果。
成本倍率项
像 duration、resolution、size、count 这样的字段,只有在价格已经能被清楚解释时才应引入。
模式切换项
像 image、mask 或 continuation ID 这类字段会改变整个工作流本身,只应出现在专门模式中。
系统接线项
像 webhook_secret 这样的字段是给集成方用的,不是给日常创作者用的,所以应从默认 UI 中移除。
prompt- 何时暴露
- 始终暴露。它是图片任务最核心的创作输入。
- 推荐默认值
- 在 UI 中设为必填。
- 为什么重要
- 它直接决定产出结果;隐藏后功能基本不可用。
size- 何时暴露
- 如果计费会随输出尺寸变化,第一版就应暴露。
- 推荐默认值
- 先只提供一个推荐宽高比,例如 1:1。
- 为什么重要
- 它同时影响成本和画面构图,所以用户通常需要一个简单的尺寸选择。
quality- 何时暴露
- 只有当用户明确提出更高或更低档位诉求时再暴露。
- 推荐默认值
- 默认留在服务端,使用模型默认值。
- 为什么重要
- 它会改变价格和延迟,但通常不需要成为第一天就开放的控制项。
n- 何时暴露
- 只有当批量生成是核心工作流时才暴露。
- 推荐默认值
- 默认设为 1。
- 为什么重要
- 它会立刻放大成本,也容易让首版体验变得复杂嘈杂。
mask / image- 何时暴露
- 仅在编辑类或参考图类产品中暴露。
- 推荐默认值
- 在文生图模式中隐藏。
- 为什么重要
- 这些字段会把产品从“生成”切换成“编辑”,因此不应混入基础流程。
Phase 1
- prompt
- one size or one duration default
- submit -> poll -> content
Phase 2
- one quality or resolution selector
- clear pricing hint
Phase 3
- advanced controls such as reference media, continuation, webhook, or vendor-specific tuning结果只保留一个真源
还是没解决?
把请求 ID 或报错信息发给我们,我们来查。