元峰AI笔记 · Agent与自动化

一、VibeCodingapi.ai令牌设置

<titleVibeCoding API 与 n8n 工作流</title

VibeCoding API 与 n8n 工作流

一、VibeCodingapi.ai令牌设置

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

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

图片展示的是VibeCodingapi.ai的注册界面。界面上方显示“lioncc狮子API”,中间有“注册”标题。下方有“用户名”“密码”“确认密码”“邮箱”“验证码”等输入框,其中“用户名”“邮箱”输入框被红色框突出显示。右下角有“注册”按钮,左下角有“已有账户?登录”选项。该图片与文档中“注册登录,[https://vibecodingapi.ai/login](https://vibecodingapi.ai/login)”的内容相关,直观呈现了注册时需填写的关键信息位置。

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

图片展示的是lioncc狮子API控制台的令牌管理界面。左侧导航栏中“令牌管理”被红色框突出显示。右侧界面中“令牌管理”选项卡被红色框标注,下方有“添加令牌”“复制所选令牌”“删除所选令牌”等操作按钮。界面上方有搜索框和密钥查询按钮。该图片与文档中“VibeCodingapi.ai令牌设置”部分内容相关,直观呈现了令牌管理界面,帮助用户了解如何在控制台添加令牌等操作。

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

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

  1. 复制令牌

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

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

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

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

  1. 添加Code in JavaScript 节点

图片展示的是n8n工作流中“Parse Model & Prompt”节点的设置界面。界面中显示了JavaScript代码,用于解析模型和提示。代码中定义了变量chatInput,并使用正则表达式检测用户输入中是否包含“hd”“高清”“HD”“Hd”等关键词,若包含则将模型设置为sora-2-hd,并移除关键词;同样检测“pro”“专业”“PRO”“Pro”等关键词,若包含则模型设置为sora-2-pro,并移除关键词;若无上述关键词则模型为sora-2。该图片与上文设置JavaScript代码的内容紧密相关,直观呈现了代码实现方式。

在 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为Create new credential,Base URL为https://vibecodingapi.ai。Send Query Parameters和Send Headers开关关闭,Send Body开关打开,Body Content Type为JSON,Specify Body为Using JSON,JSON内容为模型和消息相关配置。该图与上下文介绍的n8n工作流设置中添加HTTP Request节点的操作步骤相关,直观呈现了设置内容。

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

图片展示的是OpenAI账户的连接设置界面。在“Connection”标签下,显示“Connection tested successfully”(连接测试成功),并有“Retry”(重试)按钮。下方有“Need help filling out these fields?”(需要帮助填写这些字段?)的提示,以及“Open docs”(打开文档)链接。界面中还包含API Key、Organization ID(可选)、Base URL(默认为https://vibeencodingapi.ai)等输入框,以及“Add Custom Header”(添加自定义头)开关。该图片与文档中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等变量,以及输出内容的格式化逻辑,如使用提示、关键短语、关键短语来源、模型等信息。该图片与上文介绍的在n8n工作流中添加Code in JavaScript节点,并在其中填入特定代码的操作步骤紧密相关,直观呈现了代码填写的内容。

在 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. 点击下载视频

图片展示了一只猫在月球上跳舞的视频缩略图,画面中猫穿着宇航服,背景是地球和月球表面。图片右上角有红色箭头指向“在线播放”按钮,右下角有红色箭头指向“在线播放”文字。该图片对应文档中“视频缩略图预览”部分,直观呈现了运行完毕后生成的视频缩略图效果,方便用户点击下载观看。

附录:导入直接使用

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

Cherry Studio 中使用

一、VibeCodingapi.ai令牌设置

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

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

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

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

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

二、Cherry Studio 设置

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

图片展示了Cherry Studio的界面,上方有“CHERRY STUDIO”标志及导航栏。中间大标题为“AI知识库集成 做您最贴心的助手”,下方有“下载客户端”按钮。下方是Cherry Studio界面截图,显示了知识库集成功能,可与AI知识库集成,支持多种格式文件导入,有“Default Assistant”等选项,还展示了Mermaid图表示例。该图片与文档中介绍Cherry Studio设置相关,直观呈现了其界面及功能。

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

图片展示了Cherry Studio设置界面中“模型服务”选项及相关内容。左侧为设置菜单,其中“模型服务”选项被红色框和箭头突出显示。右侧是模型服务平台列表,包含多个平台名称,如rogueiner、Fireworks等,其中“VibeCodingapi.ai”被红色框和箭头标注。下方有“+添加”按钮。该图片与上下文紧密相关,直观呈现了文档中提到的进入Cherry Studio设置→模型服务→添加模型的操作步骤,帮助用户了解操作位置及目标平台。

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

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

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

图片展示了Cherry Studio中设置模型服务的界面。在“API密钥”处,API地址为“https://vibecodingapi.ai”(1),API密钥被星号遮挡(2)。下方模型列表中,sora - 2模型被红色箭头指向(3)。该图片与文档中“Cherry Studio设置”部分内容对应,是设置提供商名称为“Lion CC”、提供商类型为“OpenAI”,API地址填写“https://vibecodingapi.ai”后,在模型服务中添加模型的步骤展示。

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

图片展示的是Cherry Studio中Lion CC模型管理界面。界面上方有“搜索模型ID或名称”输入框,下方有“全部”“推理”“视觉”“联网”“免费”“嵌入”“重排”“工具”分类标签。当前显示“全部”分类,有“sora-2”模型,其右侧有两个加号图标,分别对应“+添加”和“+添加模型”。该图片与文档中“Cherry Studio设置”部分上下文相关,用于说明在Lion CC中手动添加模型的操作步骤。

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

图片展示的是Cherry Studio中使用Sora2 n8n工作流时,检测模型可用性的界面。画面中“连接成功”提示框显示连接成功,右上角有“检测”按钮。弹出的“请选择要检测的模型”窗口中,sora-2 | Lion CC模型被选中,下方有“取消”和“确定”按钮。该图片与上下文紧密相关,上下文提到点击检测按钮进行可用性检测,此图直观呈现了检测模型时的界面及操作步骤,辅助理解如何进行模型可用性检测。

  1. 在聊天页使用

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

图片展示了Cherry Studio中模型选择界面。画面左上角有“模型”字样,下方是模型列表,其中“sora-2”被红色框突出显示。列表中还有Qwen2.5-7B-Instruct、deepseek-ai/DeepSeek-R1等模型。画面右上角有“+”按钮。该图片与文档中“在聊天页使用”步骤相关,对应1.1步骤,即回到聊天界面,模型下拉框中选择刚添加的供应商与模型,此图直观呈现了模型选择的操作界面及目标模型位置。

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

图片展示的是Sora2 n8n工作流中Cherry Studio设置的聊天界面。界面中模型下拉框选择了“供应商 - Recruiter”,并输入了“<prompt>“一个极简直爽、充满活动主体的FPV穿越竞速赛道,以固定起跑速度和转向角的滚动穿越30个知识点的赛道,赛道,巴黎,罗马,古罗马,古罗马,古罗马,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎,巴黎

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

图片展示了在Cherry Studio中使用Sora2 n8n工作流生成视频的界面。上方显示视频标题“怒火”,中间是视频生成指令,下方进度条显示生成中,进度为44.52%。画面中有一只鸟站在树干上,周围有棕色的树干和树叶。图片与上下文的关系是,上下文介绍了在Cherry Studio中使用Sora2 n8n工作流生成视频的操作步骤,此图直观呈现了视频生成后的效果。

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

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

图片展示的是一个视频生成任务的描述界面。内容为一个充满活动主体的FPV穿越蒙太奇视频,包含10个场景,如侏罗纪、野人部落等,强调镜头与动态主体的近距离擦肩而过,色彩在每次硬切时剧烈反转。下方有图片链接,图片名为“https://pic4.zhimg.com/v2-68adb3240212aab072ca45cf8287b01_1440w.jpg”。界面底部显示Tokens数量为198,还有刷新、编辑、复制、删除等操作按钮。该图片与上下文介绍的视频生成任务相关,展示了任务的具体描述及操作选项。