Venice 图片生成
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的指引,将 @user_3c6cb52e/venice-image-generate-1inx 安装到当前 AI 助手中。
技能介绍
解决什么问题
把 Venice 的文生图能力接进现有应用时,通常会撞上两个问题:接口参数面太宽,而且不同模型的尺寸、风格和参考图约束各不相同。这个技能把两套请求路径收进同一个工具里,让调用方不必自己维护请求映射和错误分类逻辑。
核心能力
- 双路径设计
- POST /api/v1/image/generate 是 Venice 原生接口,支持 negative_prompt、cfg_scale、seed、style_preset 和 style_references,一次调用可返回最多 4 个变体。
- POST /api/v1/images/generations 是 OpenAI 兼容接口,字段对齐 openai.images.generate()。适合已经基于 OpenAI SDK 编写代码的场景,可以直接切换 base URL,但该路径一次调用只返回单张图片。
- 按模型能力收缩参数
技能通过 GET /models?type=image 提供每个模型的 model_spec,包括 promptCharacterLimit、widthHeightDivisor、steps、resolutions 和 aspectRatios。调用方可以先探测约束再构造请求,减少 400 错误的试错成本。
- 风格预设预检
GET /api/v1/image/styles 返回可用的 style_preset 名称列表,列表较小且稳定,适合拉取后本地缓存。
使用流程
- 先查询模型列表,确认目标模型支持的尺寸模式、提示词上限和风格参考能力。
- 如果沿用 OpenAI SDK,使用兼容端点并按文档映射字段;如果需要负向提示词、多变体或风格参考,切到原生端点。
- 构造请求时按需设置
width/height、aspect_ratio或resolution,确保符合模型约束。 - 通过
return_binary控制响应是二进制图像还是 JSON 里的base64;注意variants > 1时必须保持return_binary: false。 - 若要让生成图匹配既有图片风格,只对
supportsStyleReferences: true的模型使用style_references,并在prompt里描述主体,让参考图承载风格。
适用边界与注意点
width和height必须能被对应模型的widthHeightDivisor整除,否则会触发 400。steps对部分 fast/turbo 模型无效,这些模型会在服务端内部硬编码步数。hide_watermark: true是声明性设置,被判定为安全策略命中的内容仍可能带水印。- 旧的
inpaint字段已废弃,不应继续使用。 - OpenAI 兼容端点的
response_format: "url"返回的是 data URL,不是可公开访问的托管地址,落盘或转存时需要自行解码。
使用场景
- 需要控制变量,对同一主体和提示词,固定 seed 并一次生成多张变体做 A/B 对比
- 已经基于 OpenAI SDK 调用文生图接口,现在想改成 Venice 供应商但尽量少改代码
- 制作电商素材时,用负向提示词抑制多余元素,并套用 style_preset 统一视觉
- 新系列图片需要和既有产品照风格一致,上传少量参考图并让主体描述保持准确
适合人员
- 后端工程师,需要把文生图调用切到 Venice,同时减少对现有 OpenAI SDK 调用的改动
- 多媒体应用工程师,负责把短文本提示词稳定转换成可用图片,并处理响应格式和图片落盘
- 产品视觉设计师,需要让生成图与既有产品照风格一致,并按模型约束设置尺寸或分辨率
- 游戏或内容开发者,需要固定 seed 生成多张概念图做方案对比,再挑一张继续精修