NewEyes 开放 API
NewEyes 开放 API 把 NewEyes 助手放进你自己的产品里。你的用户用文字或语音和它交流;它会搜索、记忆、分析,为用户生成图片、视频和音乐,并在回复生成的同时把内容流式推送到你的应用。
整体结构
你的产品里有两部分会调用 API,各自使用自己的凭证:
| 调用方 | 凭证 | 用途 |
|---|---|---|
| 你的后端 | 项目密钥,在控制台创建 | 创建终端用户、为他们签发用户令牌并管理他们。 |
| 你的应用 | 用户令牌,由你的后端为某一个终端用户签发 | 以该用户的身份对话、上传文件、发起生成、加入语音通话。 |
项目密钥永远不离开你的服务器。你的应用只持有短期有效的用户令牌:即使令牌泄露,影响的也只是一个用户、最长一天,而且你可以随时作废它。
Your backend ──project secret──▶ /v1/users, /v1/users/{id}/tokens
│
│ hands each user their token
▼
Your app ──────user token──────▶ /v1/sessions, /v1/files, /v1/images, /v1/videos,
/v1/music, /v1/realtime, /v1/audio
基本概念
- 项目:你所在组织的空间。项目里有一笔积分余额,用来支付你的用户产生的用量;还有项目的密钥和终端用户。项目在控制台里创建和管理。
- 终端用户:你的某一个用户,由你的后端创建。终端用户产生的一切——会话、文件、生成——都归属于他,只有用他的令牌才能看到。
- 会话:一次对话,可以是文字也可以是语音。文字会话的回复要么是格式化的 Markdown,要么是由你的应用渲染的界面数据(
a2ui),在创建会话时选定。 - 任务:助手对一条消息的回答。任务运行时以服务器推送事件(SSE)流式发送:回复文字、助手执行的步骤、生成的媒体,以及结束。
- 生成:按需生成的一张图片、一段视频或一首歌,独立于对话之外。发起之后轮询它,直到完成。
- 文件:用户上传的图片、视频或音频,可以附在消息里,也可以作为生成的输入。