尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

AIRI 接入 Replicate 云图像生成:从 API Token 配置到源码级原理解析

AIRI 接入 Replicate 云图像生成:从 API Token 配置到源码级原理解析 AIRI 接入 Replicate 云图像生成从 API Token 配置到源码级原理解析【免费下载链接】airi Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airiAIRI 的 Artistry 模块支持多种图像生成后端其中Replicate是开箱即用的云端推理方案无需在本机部署任何图像模型直接在 Replicate 平台的海量模型库中挑选模型完成文生图、图生图。本文以 replicate.md 为骨架完整覆盖 Token 获取、AIRI 内配置、验证与排错全过程并结合桌面端源码provider 实现、配置 Schema、设置页 UI深入讲解底层调用链读完即可独立完成配置并理解其工作原理。为什么选择 ReplicateAIRI 内置的图像生成提供方Provider有三类本地 ComfyUI、云端 Replicate、以及 Google AI Studio 的 Nano Banana。Replicate 的定位非常明确——云端模型推理服务见 settings.yaml 中的描述 Cloud-based model inference service不需要 GPU、不需要本机部署 Stable Diffusion / FLUX 等模型可以在 Replicate 平台上自由切换不同厂商、不同版本的模型按调用计费适合不想维护推理环境、或希望快速试错多种模型的用户。如果你更倾向把图像模型部署在自己机器上例如通过 WSL 运行 ComfyUI可以改用 AIRI 的本地方案而选择云服务时Replicate 的配置门槛最低只需一个 API Token 和模型 ID。第一步获取 Replicate API Token登录 Replicate 账户的 API Tokens 页面点击创建一个新的 API token。确认账户已绑定可用的计费方式或拥有足够的余额/积分因为每次图像生成都会消耗配额。复制生成的 token 并妥善保存。Replicate 的 API token 以r8_开头AIRI 设置页的占位提示即为r8_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX见 settings.yaml。API Token 安全须知不要把 token 提交到代码仓库、截图或分享给他人。一旦怀疑 token 泄露应立即在 Replicate 控制台吊销并重新生成。第二步在 AIRI 中配置 Replicate配置入口为Settings → Providers → Artistry → Replicate对应设置页源码 replicate.vue。设置页共四个字段字段控件类型默认值说明API Key密码输入框typepassword空粘贴第一步获取的r8_开头 tokenDefault Model文本输入框black-forest-labs/flux-schnell模型 ID必须是owner/model格式如果角色卡未指定模型则回退到该值Aspect Ratio文本输入框16:9默认图片宽高比如16:9、1:1、9:16Inference Steps滑块FieldRange范围 150步长 14扩散过程步数越低越快、越高质量越好具体操作打开Settings → Providers → Artistry → Replicate。将 API Token 粘贴到 API Key 输入框。输入模型 ID。AIRI 默认使用black-forest-labs/flux-schnell若要更换模型请使用 Replicate 模型页上显示的完整准确 ID如black-forest-labs/flux-schnell这种owner/model格式写错会导致请求被拒。按需调整默认宽高比与推理步数。需要说明的是配置页面里Replicate.ai (Cloud)提供方是否可见还受isCustomProvidersDisabled()控制见 artistry.vue当该开关关闭自定义 Provider 时Replicate 与 Nano Banana 选项会被隐藏仅保留 None 与本地 ComfyUI。配置的存储与默认值Replicate 相关配置并非写死在代码里而是由三层结构共同承载渲染进程 Pinia Storeartistry.ts通过useLocalStorageManualReset持久化到 localStorage键名分别为artistry-replicate-api-key、artistry-replicate-default-model、artistry-replicate-aspect-ratio、artistry-replicate-inference-steps默认值与设置页一致模型black-forest-labs/flux-schnell、比例16:9、步数 4。主进程配置 Schemaartistry.tsvalibot 定义的artistryConfigSchema同样声明了replicateApiKey、replicateDefaultModel、replicateAspectRatio、replicateInferenceSteps四个字段及其默认值配置持久化到artistry/options.json。运行时全局配置同步渲染进程通过artistrySyncConfig桥接调用把 globals 同步到主进程见 artistry-bridge.ts主进程将其写入配置并缓存到角色卡级默认值。这套Store 主进程 Schema 桥接同步的结构意味着全局设置可以作为兜底而每个角色卡Character Card还能在自身 artistry 配置中覆盖 provider、model 与参数对应ArtistryModuleSettings中的providerOptions见 base.ts。源码视角一次 Replicate 生成请求的完整链路配置完成后AIRI 桌面端实际调用的是ReplicateProviderreplicate.ts。它实现了统一的ArtistryProvider接口base.ts由 Artistry Bridge 负责调度。整条链路可以概括为注册与初始化Bridge 维护artistryProviders注册表comfyui/replicate/nanobanana三个实例见 artistry-bridge.ts。触发生成前initialize(config)读取replicateApiKey并实例化官方ReplicateSDKnew Replicate({ auth: apiKey })未配置 Key 时replicate为nullgenerate()会直接抛出Replicate provider is not configured. Missing API Key.。构造请求参数generate()以一组默认输入为起点见 replicate.tsconst inputOptions { go_fast: true, // 快速模式开关 aspect_ratio: this.aspectRatio,// 默认 16:9 output_format: png, // 输出格式 output_quality: 80, // 输出质量 num_inference_steps: this.inferenceSteps, // 默认 4 }覆盖与占位符如果角色卡的 JSON Parameters 中提供了额外参数会合并覆盖默认值其中prompt被刻意剥离避免覆盖 Bridge 已拼接了promptPrefix前缀的提示词。此外还支持{{PROMPT}}与{{IMAGE}}两种占位符的递归替换可用于图生图/remix超长提示词会被截断到 380 字符。异步执行与轮询generate()立即返回{ jobId, providerJobId }真正的replicate.run(model, { input })在后台执行由于 Replicate 不提供回调式状态推送Bridge 采用每 2 秒轮询一次getStatus()、最长 5 分钟超时的等待策略见 artistry-bridge.ts。输出解析run()的返回可能是单个字符串 URL、字符串数组或FileUpload对象Provider 会依次尝试FileUpload.url()、对象url属性、纯字符串三种形态提取图片地址成功后以succeededimageUrl回调失败则记录failed 错误信息任务完成 10 秒后清理回调与结果缓存防止内存泄漏。结果回传无论是对话内联、背景还是浮层 Widget最终图片都会以 URL 形式交给渲染进程无头headless场景下 Bridge 还会把图片下载并转换为 base64 data URL见 artistry-bridge.ts。值得注意的是Bridge 对同一 Widget 的相同触发指纹mode remixId prompt做了去重避免响应式 UI 循环引发重复的计费调用无头请求也按 prompt/options/globals 的哈希指纹去重。这从工程层面保护了用户的云额度。验证配置是否生效配置完成后按以下顺序验证对应文档的 Verify 章节打开Settings → Modules → Artistry在 Provider 卡片中选择Replicate.ai (Cloud)对应 artistry.vue 中的replicate选项若该卡片不可见请检查自定义 Provider 是否被禁用。打开Settings → Modules → Consciousness选择一个**支持工具/函数调用tool/function calling**的对话模型——因为让角色生成图片本质上是一次工具调用对话模型必须能把用户意图转成 Artistry 生成请求。返回聊天窗口让 AIRI 生成一张非敏感的图片。若返回了图片说明 token、模型 ID、账户配额与工具调用链路全部正常。常见问题排查认证失败Authentication failed确认粘贴的是完整的 API tokenr8_开头、包含全部字符注意不要混入首尾空格。请求被拒绝Request denied依次检查账户余额/积分是否充足、该模型对你的账户是否开放访问、以及模型 ID 是否与 Replicate 模型页完全一致。生成结果不符合预期确认所选模型支持的宽高比与参数范围不同模型对aspect_ratio、num_inference_steps等参数的取值约束不同然后调整推理步数——步数过低容易出现细节粗糙过高则耗时和费用上升——或直接更换其他模型。Provider 报错Missing API Key说明 Key 未同步到主进程回到 Settings → Providers → Artistry → Replicate 重新保存一次配置并确认 Artistry 模块中已选中 Replicate 提供方。小结Replicate 为 AIRI 提供了零部署成本的云端图像生成能力配置上只需要 API Token 模型 ID 宽高比/步数四个要素架构上由ReplicateProvider封装官方 SDK、由 Artistry Bridge 统一调度轮询与状态回传并配有参数覆盖、占位符替换、请求去重等工程细节。掌握本文的配置与排查方法后你可以进一步在角色卡的 artistry 配置providerOptions中按角色定制模型与参数实现不同角色、不同画风的差异化图像表现。【免费下载链接】airi Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表