Android环境在SOURCES中移除Draw Things,AI来源仅Seedream;manual代表用户照片/网址,不是另一AI供应商。没有在某个来源失败后自动切换收费云端的逻辑。
固定配置
{
"endpoint": "https://ark.cn-beijing.volces.com/api/v3/images/generations",
"models": [
"doubao-seedream-5-0-pro-260628",
"doubao-seedream-5-0-flash-260915"
],
"request": {
"model": "doubao-seedream-5-0-pro-260628",
"prompt": "用户填写的图片要求",
"size": "2K",
"response_format": "b64_json",
"output_format": "png",
"watermark": true
}
}
这些模型ID和参数是APK固定配置,不表示本次文档编制执行过真实付费调用或确认所有账户都已开通。当前界面不提供size、水印、输出格式或数量的可调开关。
请求必须具备有效Key和payment_consent is True。Key可由JSON输入或运行环境ARK_API_KEY提供,代码拒绝空、换行或超过2048字符;APK不内置预设Key。HTTP请求使用Authorization Bearer,单次timeout180秒,读取响应最多48MiB。解析要求恰好一张图片、Base64文本≤44MiB、宽高至少64且像素≤1600万,重编码为RGB PNG,不依赖不可信临时下载URL。
已知失败与结果未知
| 分类 | 示例 | 应用处理 |
|---|---|---|
| 明确参数/权限/额度失败 | 400、401、403、404、部分429及官方code | 转换中文原因,隐藏Key/Bearer/远程URL;不自动改账户限额 |
| 余额/模型状态 | InsufficientBalance、Arrearage、SetLimitExceeded、NotOpen等 | 按官方code区分,要求用户处理控制台 |
| SubmissionUnknown | HTTP5xx、连接/超时、JSON异常、响应过大或不可用单图 | 保留可能已计费的未知状态,禁止自动重发 |
提交前保存submitting=true,返回正常图片后保存素材。用户在云请求途中取消时,已经提交的请求不能由手机撤回;若图片返回,仍尽量落盘,不继续视频制作。手动重试已知结果未知的Seedream任务要求confirm_resubmit,同时重新验证Key及费用同意。切换为手机照片不能证明之前云请求没有计费,风险标识继续保留。
Key仅在Control与运行内存中,不写job、草稿或日志;错误消息替换当前Key,取消且步骤结束清Key。代码没有安全零化所有内存副本的机制,故“只在内存”应理解为未持久写入,而不是绝对没有任何内存观察风险。
依据:seedream.py:11–94、app.py:501–528,216–225,777–804、image_sources.py:6–19。