图片生成
图片生成让 Anyy 从 prompt 创建图片,并把结果作为 scoped artifact 和原生附件返回。
模型可见工具是可选 media_generation 工具集中的 image_generate。Provider 和模型选择由 Anyy 配置解析,不由工具参数决定。
配置
用支持图片生成的辅助模型或主模型启用图片生成:
auxiliary_models:
image_generation:
- provider_id: openai-responses-provider
model: image-model
media_generation:
image:
enabled: true
default_aspect_ratio: square
timeout_ms: 120000
max_bytes: 5242880
Setup helper 会用默认值写入相同 section:
| 字段 | 默认值 |
|---|---|
media_generation.image.default_aspect_ratio | square |
media_generation.image.timeout_ms | 120000 |
media_generation.image.max_bytes | 5242880 |
所选 provider 必须有兼容 OpenAI Responses 的 API mode,所选模型必须声明 image_generation capability。
工具可用性
image_generate 只在下面条件满足时可用:
| 要求 | 行为 |
|---|---|
media_generation.image.enabled | 必须为 true。 |
| 模型选择 | 使用第一个启用的 auxiliary_models.image_generation entry;否则在主模型支持图片生成时回退到主模型。 |
| Provider | 必须存在并启用。 |
| Credential | Provider credential_ref 或 api_key_ref 必须解析为非空值。 |
| Toolset | 当前轮必须选择 media_generation。 |
Provider 路由
路由顺序:
- 第一个配置的
auxiliary_models.image_generationentry。 main_model。- 如果未设置
main_model,使用兼容字段default_model。
如果没有任何已选模型具备 image_generation capability,而图片生成已启用,运行时启动会返回配置错误。
工具接受:
| 参数 | 值 |
|---|---|
prompt | 必填的非空图片 prompt。 |
aspect_ratio | square、portrait 或 landscape;默认使用配置策略或 square。 |
元数据
成功时,工具返回包含下面字段的 JSON:
| 字段 | 含义 |
|---|---|
artifact_ref | Canonical artifact ref,例如 artifact://artifact/<id>。 |
artifact_id | 可用时的 artifact id。 |
content_type | 生成图片的 content type。 |
filename | 建议文件名。 |
presentation_text | 用于消息投递的短文本。 |
Provider id、model id、channel binding、content metadata、prompt hash 和 digest 会保存在生成附件/artifact metadata 中。
Artifacts
生成图片通过 artifact store 保存,可以用 Artifacts 工具列出或 pin。
支持的消息 surface 会把图片字节作为原生附件投递。如果某个渠道无法原生渲染图片,Anyy 仍会为会话保存 artifact record 和 attachment metadata。
失败模式
| Status | 含义 |
|---|---|
blocked_unavailable | 图片生成服务或 provider 不可用。 |
blocked_invalid | Prompt、session、turn 或 aspect-ratio 输入无效。 |
error | 配置被接受后 provider generation 失败。 |