元峰AI笔记 · Agent与自动化

VibeCoding API 与 n8n 工作流

1. 注册登录,https://vibecodingapi.ai/login;

VibeCoding API 与 n8n 工作流

一、VibeCodingapi.ai令牌设置

  1. 注册登录,https://vibecodingapi.ai/login;

直接使用用户名注册,获取验证码需要使用邮箱(支持谷歌/微软/网易/QQ/雅虎等主流邮箱)。

这是lioncc狮子API的注册页面,对应文档中VibeCoding API令牌设置的注册登录环节。页面分为两个核心步骤区域,用红色数字1、2标注:步骤1是用户名输入栏,被红色框突出显示,提示请输入用户名;步骤2是邮箱输入与验证码获取区域,邮箱输入栏和右侧的“获取验证码”按钮被红色框同时突出,需填写邮箱后获取验证码,页面还设有密码、确认密码、验证码的输入栏及底部的注册按钮。

  1. 控制台:登录后点击导航栏 控制台,进入控制台
  2. 进入 控制台 -> 令牌管理,可以在这里添加,编辑,复制您自己的令牌

这张图片展示了VibeCoding API控制台的令牌管理界面,页面左侧导航栏的红色框选中了“令牌管理”选项,与文档中令牌设置的操作步骤对应。界面上有红色箭头指向“添加令牌”按钮,这正是文档中提及的创建令牌的入口。界面中显示了名为“Lion CC”的已启用令牌,其剩余额度为1.00/1.00,密钥被部分隐藏,还标注了可用模型为“聊天”,并有禁用、编辑、删除等操作选项,完全贴合文档中关于令牌添加、查看与管理的内容说明。

  1. 令牌创建界面如下,选择默认分组就行,重要的是模型限制列表,一定要选择 sora-2。

图片展示的是VibeCoding API创建新的令牌界面。界面中“名称”处显示“写sora - 2”,“令牌分组”为默认,过期时间为1970 - 01 - 01 07:59:59,新建数量为1,额度为500000等价金额为$1.00,无限额度开关打开。模型限制列表中“一定要选择sora - 2”,IP白名单处提示允许的IP一行一个,不填写则不限制。底部有“点击提交保存”和“提交”按钮。该图片与文档中设置令牌基本信息的内容相关,直观呈现了创建令牌时的设置界面。

  1. 复制令牌

图片展示的是VibeCoding API令牌管理界面。界面中列出了多个令牌信息,如名称、状态、剩余额度/总额度、分组、密钥、可用模型、IP限制、创建时间、过期时间等。其中,密钥部分有红色框突出显示,旁边有“复制”按钮,箭头指向该按钮,提示点击此处复制令牌密钥。该图片与文档中“令牌创建界面”后“复制令牌”步骤相关,直观呈现了复制令牌密钥的操作位置。

二、n8n工作流设置(以对话流做示例)

  1. 新建一个 Chat Trigger 节点,不做任何配置

图片展示的是n8n工作流中Chat Trigger节点的参数设置界面。界面顶部有“Chat Trigger”标题,右侧有“Test chat”按钮。下方有“Parameters”和“Settings”两个选项卡,“Parameters”被红色线条突出显示。参数设置部分包含“Make Chat Publicly Available”开关,当前处于关闭状态;“Options”区域显示“No properties”,并有“Add Field”下拉框。该图片与文档中“新建一个Chat Trigger节点,不做任何配置”内容对应,直观呈现了新建节点后的参数设置界面。

  1. 添加Code in JavaScript 节点

图片展示的是n8n工作流中“Parse Model & Prompt”节点的设置界面。界面中有“Parameters”和“Settings”两个标签,当前选中“Parameters”。在JavaScript代码区域,输入了用于解析模型和提示的代码,代码中定义了变量chatInput,并使用正则表达式检测关键词,如“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“hd”“

在 JavaScript 内填入以下代码:

const chatInput = $input.item.json.chatInput || '';

// 检测模型选择关键词

let model = 'sora-2'; // 默认模型

let prompt = chatInput;

// 检测 HD 模型

if (/\b(hd|高清|HD|Hd)\b/i.test(chatInput)) {

model = 'sora-2-hd';

// 移除模型关键词

prompt = chatInput.replace(/\b(hd|高清|HD|Hd)\b/gi, '').trim();

}

// 检测 Pro 模型

else if (/\b(pro|专业|PRO|Pro)\b/i.test(chatInput)) {

model = 'sora-2-pro';

// 移除模型关键词

prompt = chatInput.replace(/\b(pro|专业|PRO|Pro)\b/gi, '').trim();

}

// 检测标准模型

else if (/\b(标准|standard|基础)\b/i.test(chatInput)) {

model = 'sora-2';

prompt = chatInput.replace(/\b(标准|standard|基础)\b/gi, '').trim();

}

return {

prompt: prompt,

model: model,

originalInput: chatInput

};

  1. 添加 HTTP Request 节点

图片展示的是n8n工作流中添加HTTP Request节点的设置界面。Method为POST,URL为https://vibecodingapi.ai/v1/chat/completions,Authentication为Predefined Credential Type,Credential Type选择OpenAi,OpenAi下拉框显示“OpenAI account”。Send Query Parameters和Send Headers开关关闭,Send Body开关打开,Body Content Type为JSON,Specify Body选择Using JSON,JSON内容为模型和对话输入等信息。该图与上下文介绍的n8n工作流设置HTTP Request节点操作步骤相关,直观呈现了设置参数的具体界面。

填写完毕后,可以点击测试下,显示的有 successfully 就代表可以正常使用了;点击其他区域自动保存。

图片展示了VibeCoding API的OpenAI账户连接设置界面。在“Connection”标签下,显示“Connection tested successfully”(连接测试成功),并有“Retry”按钮。下方有“Need help filling out these fields?”(需要帮助填写这些字段?)的提示,以及API Key、Organization ID(可选)、Base URL(默认https://vibecodingapi.ai)等输入框。其中Base URL已填写,API Key处显示为星号遮挡。该图片与文档中n8n工作流设置部分内容相关,用于说明在n8n中设置OpenAI账户连接时的界面及部分设置情况。

打开 Send Body 的开关

  • Body Content Type:JSON
  • Specify Body:Using JSON
  • JSON:
  • {
  • "model": "{{ $json.model }}",
  • "messages": [
  • {
    
  •   "role": "user",
    
  •   "content": "{{ \$json.prompt }}"
    
  • }
    
  • ]
  • }
  • Options:Add opotion(添加选项)

Timeout:180000

  1. 添加Code in JavaScript 节点

图片展示的是n8n工作流中“Format Rich Output”节点的设置界面。在“Language”下拉菜单中选择“JavaScript”,代码区域输入了JavaScript代码,用于处理生成的视频信息。代码中定义了任务ID、视频ID、预览ID等变量,还对生成的视频信息进行格式化输出,如提示使用模型、关键帧生成高清视频等。该图片与上文设置“Format Rich Output”节点的内容相关,直观呈现了代码填写情况。

在 JavaScript 内填入以下代码:

const response = $input.item.json;

const content = response.choices?.[0]?.message?.content || '';

const parseNode = $('🔍 Parse Model & Prompt').item.json;

const model = parseNode.model;

const prompt = parseNode.prompt;

// 提取任务 ID

const taskIdMatch = content.match(/ID:\s*?(task_[a-z0-9_]+)?/);

const taskId = taskIdMatch ? taskIdMatch[1] : '';

// 提取视频分辨率

const resolutionMatch = content.match(/视频信息\s*(\d+x\d+)/);

const resolution = resolutionMatch ? resolutionMatch[1] : '';

// 提取 MP4 视频链接(在线播放)

const mp4Match = content.match(/\[在线播放.*?\]\((https:\/\/filesystem\.site\/cdn\/[a-zA-Z0-9\/]+\.mp4)\)/);

const videoUrl = mp4Match ? mp4Match[1] : '';

// 提取 WebP 预览图

const webpMatch = content.match(/https:\/\/filesystem\.site\/cdn\/[a-zA-Z0-9\/]+\.webp/);

const previewUrl = webpMatch ? webpMatch[0] : '';

// 检查是否生成完成

const isCompleted = content.includes('生成完成');

const isFailed = content.includes('生成失败');

// 提取失败原因

let failureReason = '';

if (isFailed) {

const reasonMatch = content.match(/\*\*原因\*\*:\s*(.+?)\n/);

if (reasonMatch) failureReason = reasonMatch[1];

}

// 模型名称映射

const modelNames = {

'sora-2': 'Sora 2 标准版',

'sora-2-hd': 'Sora 2 HD (高清版)',

'sora-2-pro': 'Sora 2 Pro (专业版)'

};

// 构建富文本输出

let output = '';

if (isFailed) {

output = ❌ **视频生成失败**\n\n**使用模型**: ${modelNames[model]}\n**原因**: ${failureReason}\n\n**建议**: 请尝试修改提示词后重试;

} else if (isCompleted && videoUrl) {

output = ✅ **视频生成成功!** \n\n;

output += 🤖 **使用模型**: ${modelNames[model]}\n;

if (taskId) {

output += `📋 **任务ID**: `\${taskId}`\n`;

}

if (resolution) {

output += `📐 **分辨率**: ${resolution}\n`;

}

output += 📝 **提示词**: ${prompt}\n;

output += \n---\n\n;

// 添加预览图

if (previewUrl) {

output += `### 🖼️ 预览图\n\n![预览](${previewUrl})\n\n`;

}

// 添加视频链接

output += ### 🎬 视频\n\n;

output += [📥 点击下载视频](${videoUrl})\n\n;

// 添加 JSON 数据

output += ---\n\n### 📊 详细信息\n\n\``json\n${JSON.stringify({

model: model,

taskId: taskId,

resolution: resolution,

videoUrl: videoUrl,

previewUrl: previewUrl,

prompt: prompt,

status: 'completed'

}, null, 2)}\n```\n`;

// 添加使用提示

output += \n---\n\n💡 **使用提示**:\n;

output += - 使用 **HD** 或 **高清** 关键词生成高清视频\n;

output += - 使用 **Pro** 或 **专业** 关键词生成专业级视频\n;

output += - 不加关键词则使用标准版\n;

output += \n示例: "一只猫在跳舞 HD" 或 "未来城市 Pro";

} else {

output = ⏳ **视频生成中,请稍候...** \n\n使用模型: ${modelNames[model]};

}

return {

output: output,

videoUrl: videoUrl,

previewUrl: previewUrl,

taskId: taskId,

resolution: resolution,

model: model,

status: isFailed ? 'failed' : (isCompleted ? 'completed' : 'processing')

};

  1. 运行完毕后的结果展示

    1. 用户输入的视频提示词
    2. 视频缩略图预览
    3. 点击下载视频

图片展示了一只猫在月球上跳舞的视频缩略图,画面中猫穿着宇航服,背景是地球和月球表面。图片右上角有红色箭头标注的“在线播放”按钮。左上角有红色数字序号1,标注“一只猫在月球上跳舞,电影画质,4K分辨率 使用sora-2-hd模型”。该图片与文档中“视频缩略图预览”内容相关,直观呈现了运行完毕后生成的视频缩略图效果。

附录:导入直接使用

sora2-chat-multi-model-final-version.json

Cherry Studio 中使用

一、VibeCodingapi.ai令牌设置

  1. 注册登录,https://vibecodingapi.ai/login;

直接使用用户名注册,获取验证码需要使用邮箱(支持谷歌/微软/网易/QQ/雅虎等主流邮箱)。

图片展示的是lioncc狮子API的注册界面。界面上方显示“lioncc狮子API”,中间为“注册”标题。下方有“用户名”“密码”“确认密码”“邮箱”“验证码”等输入框,其中“用户名”“邮箱”输入框被红色框线突出显示。底部有“注册”按钮,以及“已有账户?登录”的文字。该图片与文档中“Cherry Studio设置→模型服务→添加模型”步骤相关,用于说明在添加模型时可能需要进行的注册操作。

  1. 控制台:登录后点击导航栏 控制台,进入控制台
  2. 进入 控制台 -> 令牌管理,可以在这里添加,编辑,复制您自己的令牌
  3. 令牌创建界面如下,选择默认分组就行,重要的是模型限制列表,一定要选择 sora-2。
  4. 复制令牌

图片展示的是Cherry Studio令牌管理界面。界面中列出了多个令牌信息,包括名称、状态、剩余额度/总额度、分组、密钥、可用模型、IP限制、创建时间、过期时间等。其中,密钥部分有红色框突出显示,旁边有“复制”按钮,箭头指向该按钮,提示点击此处复制令牌密钥。该图片与文档中“Cherry Studio设置”部分内容相关,用于指导用户复制令牌密钥。

二、Cherry Studio 设置

  1. 下载 Cherry Studio,https://www.cherry-ai.com/download,找到对应的系统版本下载就行了(请先升级到最新版本再配置)

图片展示了Cherry Studio的界面,上方有导航栏,中间标题为“AI知识库集成 做您最贴心的助手”,下方文字说明Cherry Studio已上线知识库功能,支持多种格式文件导入。画面中突出显示了“下载客户端”按钮。下方是Cherry Studio的界面截图,左侧有多个功能选项,右侧显示了Mermaid卡片示例等内容。该图片与文档中“Cherry Studio设置”部分内容相关,直观呈现了Cherry Studio的界面情况。

  1. 进入 Cherry Studio 设置→模型服务→添加模型。

图片展示了Cherry Studio设置界面中“模型服务”选项及相关内容。左侧为设置菜单,其中“模型服务”选项被红色框和箭头突出显示。右侧是模型服务平台列表,包含多个平台名称,如rogueiner、Fireworks等,其中“VibeCodingAPI”被红色框和箭头指向。下方有“+添加”按钮。该图片与文档中“Cherry Studio设置”部分内容相关,用于指导用户在Cherry Studio中进入设置并添加模型服务,设置提供商名称为“Lion CC”、提供商类型为“OpenAI”,API地址填写“https://vibecodingapi.ai”,点击“管理”自动拉取模型。

  1. 设置提供商名称为「Lion CC」、提供商类型选择「OpenAI」

图片展示的是Cherry Studio中添加提供商的界面。界面顶部显示“添加提供商”,中间有一个蓝色圆圈,内有白色大写字母“L”。下方有“提供商名称”输入框,已填入“Lion CC”,“提供商类型”下拉框显示为“OpenAI”。右下角有“取消”和“确定”按钮。该图片与文档中“Cherry Studio设置→模型服务→添加模型”步骤相关,用于设置提供商名称为“Lion CC”、提供商类型选择“OpenAI”,是配置VibeCoding API与n8n工作流中Cherry Studio设置的步骤之一。

  1. API 地址填写:https://vibecodingapi.ai

图片展示了Cherry Studio中设置VibeCoding API相关参数的界面。API密钥部分显示为遮挡状态,API地址为https://vibecodingapi.ai,模型部分展开显示sora-2模型。该图片与文档中“Cherry Studio设置”部分内容对应,是设置提供商名称为「Lion CC」、提供商类型选择「OpenAI」,API地址填写https://vibecodingapi.ai,点击管理自动拉取模型(若不支持则手动「+添加」)等操作后的界面呈现,用于辅助说明设置步骤。

  1. 点击管理自动拉取模型(若不支持则手动「+ 添加」)。

这张图片展示的是Cherry Studio里Lion CC模型的相关页面,页面顶部标题为“Lion CC模型”,设有搜索框可搜索模型ID或名称。页面内有“全部”“推理”“视觉”等分类标签,其中“全部”标签处于选中状态,下方已显示出手动添加的模型“sora-2”,与文档中VibeCoding API令牌设置环节里手动添加模型的操作内容相对应,该界面是完成模型添加操作后的实际呈现结果。

  1. 手动添加模型,模型ID输入「sora-2」,其他自动更新,最后点击添加模型就行了。
  2. 点击检测按钮进行可用性检测,然后将右上角的开关启用即配置完毕。

图片展示的是Cherry Studio中VibeCoding api.ai令牌设置的检测界面。画面右上角有“检测”按钮,其右侧有数字1标识。弹出的“请选择要检测的模型”窗口中,sora-2 | Lion CC被选中,窗口右下角有数字2标识的“取消”和数字3标识的“确定”按钮。窗口上方显示“连接成功”,并有数字4标识。该图片与上下文介绍的在聊天页使用VibeCoding api.ai相关,是检测模型可用性的操作步骤图示。

  1. 在聊天页使用

    1. 回到聊天界面,模型下拉框中选择刚添加的供应商与模型。
    2. 若看不到模型,检查:是否已在管理里点击 “+” 加入;供应商右上角开关是否已开启。

图片展示了Cherry Studio中模型选择界面。左侧为导航栏,有“助手”“管理”等选项。右侧上方有“模型”字样,下方模型下拉框中显示“sora-2”等模型选项,其中“sora-2”被红色框突出显示。该图片与文档中“在聊天页使用”步骤相关,对应1.1步骤,即回到聊天界面,模型下拉框中选择刚添加的供应商与模型,此图直观呈现了选择模型的操作界面及可选项。

  1. 然后返回对话页面进行对话就行了,输入视频提示词就行了。

图片展示的是Cherry Studio中使用VibeCoding api.ai生成视频的对话界面。界面中显示了用户输入的视频提示词“<prompt>“一个极简直线条、充满活动主体的FPV穿越竞速赛道,以恒定指定速度和转向角度的赛道穿越30个知识点包括:赛道、野兽、野兽、野兽、古罗马、大疆创新、在日蚀、大航海时代、飞龙传、丝绸之路、飞龙传、每个点从最高速度到最高速度的加速减速测试,可实时查看、查看各赛道的实时视频和时间轴数据、赛道图和速度曲线、赛道图和速度曲线”<caption>“https://pic4.zhimg.com/v2-88ad83248212aae872ca4c782879b1_540w.jpg”</caption>”<orientation>“landscape”</orientation>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”<image>”

如果需要指定横屏或者竖屏。在生成的内容后输入: 横屏/竖屏就行了

图片展示了在Cherry Studio中使用VibeCoding api.ai生成视频的界面。上方显示视频标题“怒火”,中间是视频生成指令,下方进度条显示生成中,进度为44.52%。画面中有一只鸟站在树干上,周围有棕色的树干和树叶。右下角有“在线播放”按钮,左下角有“生成中”提示,右下角还有“视频ID”标识。该图片直观呈现了视频生成过程中的界面情况,与上下文介绍的视频生成操作相契合。

视频生成后最下面会有在线播放,点击「在线播放」可以预览视频,右下角的 … 可以进行下载。

需要使用图片垫图的话,那直接附上图片的链接就行了。

图片展示的是一个视频生成任务的描述界面。上方文字描述了一个充满活动主体的FPV穿越蒙太奇视频,包含10个场景,每个场景强调FPV镜头与动态主体的近距离擦肩而过,强调现场感和紧张氛围。下方有图片链接,图片名为“v2-68adb3240212aab072ca45cf8287b01_1440w.jpg”。最下方显示“Tokens: 198”,并有刷新、编辑、复制、删除图标。该图片与文档中介绍在Cherry Studio中使用VibeCoding api.ai生成视频的任务描述相关,展示了任务的具体要求及图片信息。