用 Flixly API 打造能生成媒体内容的自定义 AI 聊天机器人
Flixly 的 API 不生成聊天文本,但可以为你的自定义聊天机器人加入图片、视频和语音生成能力。本教程演示如何将它接入你已在使用的语言模型。
一句话总结
Flixly 没有文本聊天或 LLM 补全 API。请用你现有的语言模型服务商搭建对话,当用户需要图片、视频或语音片段时,再调用 Flixly 的 REST API(POST /api/v1/generate、GET /api/v1/generations/{id})。使用 API 密钥进行身份验证,从 GET /api/v1/models 选择模型 id,并通过 webhooks 或轮询获取结果。费用从一次性积分包购买的积分中扣除。
越来越多的企业和开发者在网站和应用中加入自定义 AI 聊天机器人,用来解答问题、引导用户和自动化客服。许多团队希望更进一步:让机器人还能创作内容,比如一张产品图、一段短视频或一条语音回复。这正是 Flixly API 的用武之地。
先说清楚一点:Flixly 不提供文本聊天或 LLM 补全 API。对话本身来自你已在使用的语言模型服务商。Flixly 的 API 在此基础上增加图片、视频和音频生成能力,让你的聊天机器人能为用户提供真实的媒体内容,而不只是文字。这篇聊天机器人开发教程将演示如何把两者连接起来。
为什么要为聊天机器人接入 Flixly API?
纯文本机器人只能描述一张图片,而具备媒体能力的机器人可以直接交付图片。Flixly API 为你提供:
- 一个密钥,多种模型:模型库中的图片、视频和音频模型都通过同一个 REST API 调用。可在模型目录中浏览。
- 简单的接口:用
POST /api/v1/generate发起任务,用GET /api/v1/generations/{id}查询任务。 - Webhooks:生成完成时接收通知。
- 安全护栏:可为每个密钥单独设置速率限制和每月支出上限。
- 按量付费:使用一次性积分包中的积分,无需绑定任何套餐。
准备工作
开始写代码前,请确认你已具备:
- 一个 Flixly 账户(注册)。
- 一个 Flixly API 密钥,在 API 密钥页面创建。
- 一个语言模型服务商的账户,用于生成聊天回复。
- Node.js 18 或更高版本(以使用内置的
fetch),或 Python。 - 可选:用于构建界面的前端框架,例如 React。
第 1 步:配置 API 访问
- 创建 Flixly 账户,如果初始积分不够用,可在定价页面充值积分。
- 在控制台设置中生成 API 密钥。
- 将密钥安全地保存在
.env文件中:
FLIXLY_API_KEY=your_flixly_key_here
LLM_API_KEY=your_llm_provider_key_here
切勿在浏览器端代码中暴露任何一个密钥;下面的所有调用都在你的服务器上运行。
第 2 步:首次调用 Flixly API
发起一次生成。模型 id 来自 GET /api/v1/models;这里我们使用 GPT-Image 2.0(gpt-image-2):
import 'dotenv/config';
const BASE = 'https://www.flixly.ai/api/v1';
const headers = {
'Authorization': `Bearer ${process.env.FLIXLY_API_KEY}`,
'Content-Type': 'application/json'
};
export async function startImage(prompt) {
const res = await fetch(`${BASE}/generate`, {
method: 'POST',
headers,
body: JSON.stringify({ model: 'gpt-image-2', prompt })
});
if (!res.ok) throw new Error(`Flixly error ${res.status}`);
return res.json(); // { id, status, ... }
}
响应中包含生成任务的 id 和 status。有些任务会立即完成,另一些则返回 processing。
第 3 步:获取结果
轮询状态接口,直到任务变为 completed 或 failed:
export async function waitForResult(id) {
while (true) {
const res = await fetch(`${BASE}/generations/${id}`, { headers });
const job = await res.json();
if (job.status === 'completed') return job.output_url;
if (job.status === 'failed' || job.status === 'blocked') throw new Error(job.error);
await new Promise(r => setTimeout(r, 3000));
}
}
在生产环境中,建议在生成请求中传入 webhook_url,由 Flixly 主动通知你的服务器。详见 webhooks 指南。
第 4 步:接入对话
对话由你的语言模型负责。当检测到媒体生成请求时,由后端调用 Flixly:
async function handleMessage(history, message) {
const wantsImage = /\b(draw|generate|create) (an? )?(image|picture)\b/i.test(message);
if (wantsImage) {
const job = await startImage(message);
const url = job.output_url ?? await waitForResult(job.id);
return { type: 'image', url };
}
// Otherwise call your LLM provider with the conversation history
return { type: 'text', text: await callYourLLM(history, message) };
}
关键词判断只是起点。许多 LLM 服务商支持工具调用或函数调用,因此你可以描述一个 generate_image 工具,让模型自行决定何时调用。
语音和视频回复
同一个接口也支持音频和视频模型。从模型列表中选择文字转语音模型(如 Gemini 3.1 Flash TTS)或视频模型(如 Seedance 2.0),然后将模型 id 与提示词一起传入。
第 5 步:创建网页界面
一个最简前端会把消息发送到你的后端,并渲染文本或媒体:
<div id="chat-container">
<div id="messages"></div>
<input id="input" type="text" placeholder="Type your message...">
<button id="send">Send</button>
</div>
<script>
// POST the message to your server, then append text,
// an <img>, <video> or <audio> element based on the reply type
</script>
第 6 步:部署与扩展
- 托管后端:可部署在任意 Node.js 平台上。
- 使用 webhooks,而不是高频轮询循环。
- 为每个 API 密钥设置支出上限,避免高流量机器人耗尽你的余额。
- 处理错误:余额不足以支付的请求会返回积分不足错误,请向用户显示友好的提示。
完整参考文档(包括 OpenAPI 规范)请见 API 文档和开发者门户。
最佳实践
- 生成前先确认:媒体生成会消耗积分,应让用户确认高成本请求。
- 速率限制:遵守每个密钥的限制,并在你这一侧对请求排队。
- 内容审核:在将提示词发送给任一 API 之前先进行过滤。
- 隐私合规:避免在提示词中发送个人数据,并遵守 GDPR。
- 测试:不仅要测试正常流程,还要测试失败、被拦截和耗时较长的任务。
结语
Flixly 不会替你的聊天机器人撰写回复,但它能让你的自定义 AI 聊天机器人按需生成图片、视频和语音片段,从而大幅提升实用性。将你的语言模型与 Flixly API 结合,先从一个图片模型开始,再逐步扩展。获取你的密钥并阅读 API 文档,即可开始。
常见问题
什么是 Flixly API?▾
**Flixly API** 是一个 REST API,可使用 Flixly 模型库中的模型生成图片、视频和音频。它提供发起生成、查询状态、列出模型和读取账户信息的接口,但不提供文本聊天或 LLM 补全。
Flixly 能生成聊天机器人的文本回复吗?▾
Flixly 无法做到。Flixly 之前的文本聊天接口已经下线。请使用任意语言模型服务商处理对话,在机器人需要生成媒体内容时再调用 Flixly。
构建它需要编程经验吗?▾
具备基础编程知识会有帮助。这里的示例使用 Node.js 和普通的 HTTP 请求,因此很容易改写成 Python 或其他语言。
Flixly API 的费用是多少?▾
生成费用使用一次性积分包购买的积分支付,具体取决于模型和设置。新账户会获得少量初始积分用于测试。当前积分包请查看定价页面。
可以把聊天机器人集成到网站或应用中吗?▾
可以。由你的后端调用 Flixly API,因此聊天机器人可以部署在任何网站或应用中。使用 webhooks 在生成完成时接收通知,无需轮询。