☰
Pika-Skills API参考详解:Pika Realtime会议接口与DevKey认证机制完整指南
2026/10/14 18:17:52 网站建设 项目流程

【免费下载链接】Pika-Skills

项目地址:https://gitcode.com/gh_mirrors/pi/Pika-Skills
点击查看免费下载

Pika-Skills 是 Pika Labs 发布的开源 AI Agent 技能项目,其核心能力是调用 Pika Realtime 会议接口,让 AI 以"视频智能体"的身份加入 Google Meet / Zoom 会议。本文是面向新手的 Pika-Skills API 参考完整指南,将逐一拆解 DevKey 认证机制、meeting-session 会议接口、会话状态轮询与退出码速查表,帮助你零基础上手理解它的完整 API 调用链路。

📦 Pika-Skills 是什么?

Pika-Skills 是为 AI Agent 提供的技能库,当前仓库中包含一个核心技能:pikastream-video-meeting。它可以让 AI 以视频会议代理的身份实时加入会议——拥有自己的头像、自己的声音,甚至可以根据system_prompt设定专属"人格"。

⚠️重要提示:Pika-Skills 所依赖的 Pika Developer API 已停止服务,仓库已归档(详见README.md)。本文从技术参考角度解析其 API 机制,供学习与架构借鉴。

上图是项目自带的默认头像(placeholder-avatar.jpg):当加入会议时未指定自定义头像,脚本就会使用这张 1920×1080 的占位图作为 AI 在会中的形象。

📁 仓库结构速览

文件 / 目录说明
pikastream-video-meeting/SKILL.md技能定义文件:描述触发条件、首次设置流程与入会/离会规范
pikastream-video-meeting/scripts/pikastreaming_videomeeting.py核心脚本:实现 join / leave / generate-avatar / clone-voice 四个命令的完整逻辑
pikastream-video-meeting/requirements.txtPython 依赖(仅需requests库)
LICENSE / NOTICEApache 2.0 许可声明

🔑 DevKey 认证机制完整解析

DevKey 从哪来?两种获取方式

Pika-Skills 的所有 API 请求都通过Developer Key(DevKey,格式以dk_开头)完成身份认证。脚本按以下优先级获取密钥(参见 get_devkey):

  1. 环境变量PIKA_DEV_KEY(推荐):运行脚本前预先配置,是 Agent、CI 等非交互场景的必选方式——缺少 TTY 时交互式输入会导致阻塞;
  2. 本地文件~/.pika/devkey:未设置环境变量时自动读取该文件兜底。

两者都找不到时,脚本会输出no_devkey状态的 JSON,并提示前往 Pika 官方开发者平台申请密钥。

请求头格式:轻量自定义认证

Pika 采用简洁的自定义 Header 认证方式,每个请求都携带以下字段(参见 get_api_config):

Header 字段示例值作用
AuthorizationDevKey dk_xxx...核心认证凭证,注意DevKey前缀(非 Bearer)
X-Skill-Namepikastream-video-meeting标识调用来源技能
X-Sender-Id可选发送方标识,用于代理计费归属
X-Message-Channel可选消息渠道标识,用于代理计费归属

API 基础地址与路由规则

基础地址由环境变量PIKA_API_BASE_URL覆盖,未设置时使用脚本内置的 Pika 代理默认地址(DEFAULT_API_BASE)。各接口按职能分挂在不同路径下:

  • Realtime 会议接口:{base}/proxy/realtime/...
  • Developer 账户接口:{base}/developer/...
  • 模型代理接口:{base}/proxy/openai/...、{base}/proxy/minimax/...

💬 Pika Realtime 会议接口详解

join:入会核心接口(一步到位)

join是整个技能的灵魂,完整执行链路如下(参见 cmd_join):

  1. 余额预检:每次入会前强制执行资金管线,确保账户余额 ≥100 credits(见下文充值接口);
  2. 平台推断:从 URL 自动识别会议平台——包含meet.google.com判定为google_meet,zoom.us/zoom.com判定为zoom;无法识别时需显式传--platform;
  3. 创建会议会话:POST /proxy/realtime/meeting-session,以 multipart 形式上传头像图片并附带一组表单参数;
  4. 轮询会话状态:每 2 秒调用GET /proxy/realtime/session/{session_id},当状态变为ready(或视频、机器人双连接)即宣告入会成功。

meeting-session 接口关键参数一览:

参数类型说明
image(文件字段)图片机器人头像;未指定时用默认占位头像,也支持 http 图片地址
meet_url字符串Google Meet / Zoom 会议链接
bot_name字符串机器人在会议中的显示名称
platform字符串google_meet或zoom
voice_id字符串语音 ID,缺省为English_radiant_girl
meeting_password字符串可选,会议密码
system_prompt字符串可选,机器人人设与背景知识描述

会话轮询返回的关键字段:status(会话状态)、video_worker_connected/video_connected(视频流是否接通)、meeting_bot_connected(机器人是否入会)、error_message(出错时的错误信息)。

leave:离开会议

leave只需一次DELETE /proxy/realtime/session/{session_id}请求(参见 cmd_leave),成功后返回{"session_id": "...", "closed": true}。其中session_id来自 join 命令的 stdout 输出。

generate-avatar:生成机器人头像

通过 OpenAI 图像代理调用POST /proxy/openai/v1/images/generations,使用内置默认提示词生成 1024×1024 的肖像图(参见 cmd_generate_avatar):

  • 可通过--prompt自定义风格(例如"卡通猫"会自动补充"适合视频会议的肖像"后缀);
  • 默认模型gpt-image-1-mini,输出格式 PNG;
  • 响应中图片以 base64 或 URL 形式返回,脚本自动解码并落盘。

clone-voice:克隆专属语音

语音克隆走 MiniMax 语音代理,分两步完成(参见 clone_voice):

  1. POST /proxy/minimax/v1/files/upload:上传 10 秒 ~ 5 分钟的清晰人声录音;
  2. POST /proxy/minimax/v1/voice_clone:以speech-2.8-hd模型创建音色,voice_id 形如voice_{名称}_{时间戳}。

💡两点实用提示:克隆音色在7 天未使用后被删除,SKILL.md 要求 Agent 每次入会前检查cloned_at时间并主动提醒用户;mp3 / m4a / wav 以外的音频会先经 ffmpeg 自动转码为 mp3。

💰 余额与充值接口(自动资金管线)

Pika 采用 credits 积分计费,入会要求余额 ≥ 100。资金管线(参见 ensure_funded)全自动完成:

步骤接口说明
① 查余额GET /developer/balance读取当前积分余额
② 查商品GET /developer/topup/products获取可购买积分包(含productId、numCredits)
③ 建订单POST /developer/topup传入product_id,返回checkout_url支付链接
④ 轮询支付重复GET /developer/balance每 10 秒轮询,最长等待 300 秒

余额不足时,脚本自动挑选恰好补齐差额的最小积分包,输出checkout_url后等待付款完成再继续入会流程。

🧾 退出码速查表(排错黄金参考)

脚本用标准化的退出码传递执行结果(参见用法文档),是排错时最值得记住的一张表:

退出码含义处理建议
0成功—
1缺少 DevKey设置PIKA_DEV_KEY或创建~/.pika/devkey
2参数校验失败检查会议 URL、platform、头像文件是否存在
3HTTP 请求错误查看 stderr 中的状态码与响应摘要
4会话错误(状态 error / closed)检查会议链接是否有效
5超时(默认 90 秒)可用--timeout-sec延长等待时间
6余额不足stdout 的 JSON 中含checkout_url,按链接充值

⚠️ API 现状:已停止服务

根据仓库最新 README.md 的官方公告:

  • pika.me/devDeveloper API已停止服务:存量dk_...DevKey 均失效,且不再签发新密钥;
  • 仓库内所有技能因依赖该 API 而不可用,仓库已归档,仅保留供历史参考;
  • 官方正在构建平台无关的新编程访问方式,届时将公布更新后的 API 文档、商业条款与迁移指南。

📌 想体验 Pika 最新模型的读者,请关注 Pika 官方网站与实验平台发布的官方渠道公告。

📝 总结

本文为一份完整的 Pika-Skills API 参考:

  • DevKey 认证:Authorization: DevKey dk_...请求头,来源支持环境变量PIKA_DEV_KEY与~/.pika/devkey文件两种方式,另附X-Skill-Name、X-Sender-Id等归属头;
  • Pika Realtime 会议接口:以POST /proxy/realtime/meeting-session创建会话为核心,配合 2 秒间隔的GET /proxy/realtime/session/{id}轮询,实现 join → 状态同步 → leave 的完整闭环;
  • 周边能力:余额查询、自动充值、头像生成、语音克隆四大接口各司其职;
  • 排错抓手:6 个标准化退出码覆盖了从缺密钥到余额不足的全部常见故障。

虽然原始 Developer API 已经停服,但 Pika-Skills 展示的"密钥认证 → 余额预检 → 会话创建 → 状态轮询"设计范式,仍是理解 AI Agent 实时会议架构的一份优秀范本。

核心资料索引:

  • 技能定义与交互流程:pikastream-video-meeting/SKILL.md
  • API 完整实现源码:pikastream-video-meeting/scripts/pikastreaming_videomeeting.py

【免费下载链接】Pika-Skills

项目地址:https://gitcode.com/gh_mirrors/pi/Pika-Skills
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询