API 参考

完整的 REST 表面 - - 聊天、嵌入、重新排名、图片、视频、3D、音频、转录、搜索、检测、工作

EmpirioLabs 提供 OpenAI 和 Anthropic 兼容请求形状。放入任意SDK,指向https://api.empiriolabs.ai,然后用你的EmpirioLabs API密钥进行认证。以下每个端点都能对任何OpenAI或Anthropic客户端保持不变。

认证

每个请求都需要一个承载令牌。任一头部在每个端点都被接受:

Authorization: Bearer $EMPIRIOLABS_API_KEY
x-api-key: $EMPIRIOLABS_API_KEY
1from openai import OpenAI
2
3client = OpenAI(
4 base_url="https://api.empiriolabs.ai",
5 api_key="$EMPIRIOLABS_API_KEY",
6)
7
8resp = client.chat.completions.create(
9 model="deepseek-v4-pro",
10 messages=[{"role": "user", "content": "Hello!"}],
11)

端点曲面

聊天完成

兼容OpenAI的聊天。流式传输、工具调用、视觉、音频输入、JSON 模式、结构化输出、推理控制。

遗留完成

为宣传POST /v1/completions的模型提供兼容OpenAI的提示补全。

Anthropic 信息

Anthropic SDK 客户端的直接访问。tool_use / tool_result block,往返干净利落。

图片

生成、编辑、上色、图像变化。托管的CDN网址,7天签名。

视频

异步视频生成。返回job_id;轮询作业端点的URL。

音频(TTS, 音乐, 声音)

TTS加上实时流式TTS(Inworld)、音乐/播客/音效生成、语音克隆管理。

代理人

长期使用工具的代理任务。开始、投票、直播消息,提前停止。

转录

低语/Deepgram/虎皮鹦鹉。多部分上传或file_url。

搜索与研究

Exa、Tavily、Linkup、Perplexity Search。域名筛选、日期范围、地理偏见。

3D 生成

异步图像到3D资产生成。返回job_id;投票以获取签名的GLB URL。

检测

POST /v1/detect - GPTZero AI 检测、文献检索、来源分析。

嵌入

兼容OpenAI的嵌入。多语言文本 + 多模态嵌入器。

军衔重组

语义文档重新排序。按相关性排序检索候选,进行RAG和搜索细化。

文件网址

输入字段中传递任何公共URL。不上传,不重新签名 - - 生成的输出有效期为7天。

工作

轮询任何异步生成的状态/结果。州政府在完成后保留了1小时。

模型

实时目录,包含价格、参数模式、能力标志、区域。

错误

兼容 OpenAI 和 Anthropic 的误差包络。

聊天完成

POST /v1/chat/completions

把目录里任何支持聊天的型号都当作model。流媒体使用服务器发送事件,data: ...行和最终的data: [DONE]

$curl https://api.empiriolabs.ai/v1/chat/completions \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "deepseek-v4-pro",
> "messages": [{"role": "user", "content": "Summarize CRDT consistency in 3 bullets."}],
> "stream": true,
> "temperature": 0.7
> }'

每个模型的接受参数都显示在其文档页面(例如 temperaturetop_penable_thinkingreasoning_effortweb_search_tier)。请在[Providers and Models](/providers)栏目浏览。

跨端点模型参数

模型页面和GET /v1/models/\{id\}中宣传的模型特定参数,可以发送给/v1/chat/completions/v1/responses/v1/messages,当该模型支持该端点时。网关会调整请求形状,使相同的控制能够到达底层模型。

对于具备思考能力的模型,所有三个文本端点都接受enable_thinkingthinking_budget。在/v1/messages上,你也可以采用拟人思维方式:

1{
2 "thinking": {
3 "type": "enabled",
4 "budget_tokens": 1024
5 }
6}

这对应到聊天完成和回复使用的相同enable_thinking=truethinking_budget=1024控制。

遗留完成

POST /v1/completions

对于仍然发送原始prompt而非聊天messages的 OpenAI 兼容客户端,可以使用该端点。只有标注POST /v1/completions supported_endpoints的型号才接受这种形状。

流媒体使用服务器发送事件,并在模型服务报告时包含使用情况。

$curl https://api.empiriolabs.ai/v1/completions \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "qwen3-5-9b",
> "prompt": "Write one concise launch sentence.",
> "max_tokens": 64,
> "stream": true
> }'

Anthropic 信息

POST /v1/messages

任何 Anthropic SDK 客户端都可以直接访问 - - /v1/chat/completions/v1/responses 上可用的相同模型也可以通过 Anthropic Messages 表格访问。

$curl https://api.empiriolabs.ai/v1/messages \
> -H "x-api-key: $EMPIRIOLABS_API_KEY" \
> -H "anthropic-version: 2023-06-01" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "deepseek-v4-pro",
> "max_tokens": 1024,
> "messages": [{"role": "user", "content": "Hi!"}]
> }'

tool_usetool_result街区往返干净利落。混合的text-plus-tool_use内容阵列得以保留。

图像生成

POST /v1/images/generations

$curl https://api.empiriolabs.ai/v1/images/generations \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "wan-2-7-image",
> "prompt": "A glass cathedral at sunset, dramatic lighting",
> "aspect_ratio": "16:9",
> "resolution": "4K",
> "thinking_mode": true,
> "num_images": 4
> }'

图像编辑流程接受image: ["https://..."],且模型的文档限制为qwen-image-2-03,wan-2-7-image9,seedream-5-0-lite14)。图像集模式生成连贯的序列 - - 请参见每个模型的页面获取切换功能。

退回的网址在https://media.empiriolabs.ai上是开放的,且在7天后过期。在URL过期前保存你想保留的内容。

POST /v1/images/analysis对一个或多个输入图像进行仅视觉分析(无生成)。用于布局提取、物体检测、OCR等类似检查任务,模型返回描述图像的文本或JSON,而非新图片。

视频生成

POST /v1/videos/generations

始终异步 - - 端点返回一个job_id和一个轮询URL。

$curl https://api.empiriolabs.ai/v1/videos/generations \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "seedance-2-0-pro",
> "prompt": "A cinematic dolly shot of a city street at dusk in the rain",
> "resolution": "1080p",
> "aspect_ratio": "16:9",
> "duration": 8,
> "generate_audio": true
> }'

音频生成

POST /v1/audio/speech同步,默认返回托管的URL;传递 response_format: "b64_json" 以获得内联音频字节。

POST /v1/audio/speech:stream实时TTS。在模型合成过程中返回服务器发送的事件。Inworld TTS Mini time-to-first-byte低于 130ms,Max 不到 250ms。用于语音代理和交互播放。目前支持Inworld TTS Mini / Max;其他TTS模型则使用同步端点。

POST /v1/audio/generations音乐、播客和音效生成。涵盖稳定音频、GLM TTS、MOSS、SoulX Podcast,其中prompt-to-audio形状与TTS不同。

GET /v1/voices列出和管理语音,包括为 Inworld TTS 定制的语音克隆。在任一语音端点使用返回的voice_id

$curl https://api.empiriolabs.ai/v1/audio/speech \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "gemini-2-5-flash-tts",
> "input": "Hello from EmpirioLabs.",
> "voice": "Charon",
> "output_format": "WAV"
> }'

转录

POST /v1/audio/transcriptions

支持多部分上传的file或带file_url的JSON负载。

$curl https://api.empiriolabs.ai/v1/audio/transcriptions \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -F "model=openai-whisper-1" \
> -F "file=@meeting.mp3" \
> -F "response_format=verbose_json" \
> -F "timestamp_granularities=word,segment"

长文件(超过5分钟)会自动路由到异步作业系统 - - 响应包含job_id而非内联文本。轮询工作端点以获取最终的转录。

搜索与研究

POST /v1/search检索式模型的统一搜索面。每个模型的确切接受参数都存在于每个模型的页面上(例如,exa-search 暴露了包括 categorylivecrawlsubpagessummary_querycode_tokens 在内的 28 个参数)。

POST /v1/research深度研究/多步检索模型(Exa Research、Perplexity Deep Research、Linkup Deep Search)。生成带有引用来源的结构化研究报告。

POST /v1/answer直接问答模型(Exa Answer)。返回简明的答案和引用,但没有完整的报告格式。

$curl https://api.empiriolabs.ai/v1/search \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "tavily-search",
> "query": "latest CRDT research papers 2026",
> "search_depth": "advanced",
> "include_answer": "advanced",
> "max_results": 10,
> "topic": "general"
> }'

代理人

长期运行的、使用工具的代理任务(目前路由到 Manus)。先提交一次,然后投票查询状态和step-by-step消息,或者提前停止。

POST /v1/agents/run做双重职责:

  • 没有task_id它开始了新的任务。回应带来了新的task_id
  • task_id则会向已有任务发送跟进消息。代理人在下一步推理时接过它。

GET /v1/agents/\{task_id\}获取任务当前状态和最终结果。

GET /v1/agents/\{task_id\}/messages列出代理迄今为止发出的每一步。它有助于在最终答案的同时呈现实时推理轨迹。

POST /v1/agents/\{task_id\}/stop停止正在进行的任务。账单则是对代理人已经完成的工作进行和解。

$curl https://api.empiriolabs.ai/v1/agents/run \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "manus",
> "input": "Summarize the top 5 humanoid robotics startups by funding raised in 2025-2026"
> }'

3D生成

POST /v1/3d/generations

图像到三维生成是异步的。端点返回一个job_id和一个轮询URL;轮询作业端点以获取最终签名的GLB URL。

$curl https://api.empiriolabs.ai/v1/3d/generations \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "trellis-2-4b",
> "image_url": "https://example.com/product-photo.png",
> "resolution": "1024",
> "texture_size": "2048",
> "decimation_target": 500000,
> "seed": 42
> }'

trellis-2-4b在其模型页面上展示了完整的图像、分辨率、采样器、纹理和网格导出参数表面。

检测

POST /v1/detect

专门的文本分类终端。目前驱动GPTZero(人工智能检测、书目扫描、来源分析)。每个模型的scan_type枚举选择上游路径;完整参数曲面请参见每个模型文档。

$curl https://api.empiriolabs.ai/v1/detect \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "gptzero",
> "input": "The quick brown fox jumps over the lazy dog.",
> "scan_type": "ai_detection",
> "multilingual": false
> }'

GPTZero 也可以通过/v1/chat/completions/v1/responses访问 - - 通过消息正文传递文本,网关会自动调整通话。检测摘要以助手消息的形式返回;传递disable_formatting: true以接收原始上游JSON。

嵌入

POST /v1/embeddings

兼容OpenAI的嵌入。提供多语言文本和多模态(文本+图像+视频)嵌入器。

$curl https://api.empiriolabs.ai/v1/embeddings \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "text-embedding-v4",
> "input": ["Sentence one.", "Sentence two."],
> "encoding_format": "float"
> }'

军衔重组

POST /v1/reranks

按语义相关性排序候选人documents query。返回每个文档的原始索引及0-1的相关性评分(越高=越相关)。用它来精简向量存储器/BM25/混合检索器的输出,然后再把顶点传递给语言模型—这是RAG流水线的标准最后一步。

$curl https://api.empiriolabs.ai/v1/reranks \
> -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "qwen3-rerank",
> "query": "What is a rerank model?",
> "documents": [
> "Rerank models sort candidate documents by relevance.",
> "Quantum computing is a cutting-edge field of computer science.",
> "Pre-trained language models advanced rerank models."
> ],
> "top_n": 2,
> "return_documents": true
> }'

可选的 instruct 参数可在 Q&A 检索(默认)和纯语义相似排序之间切换 - - 完整参数表请参见 [qwen3-rerank model page](/models/qwen3-rerank)。

使用对象

每个计费的端点都会在响应(以及终端流数据块)上返回一个usage字段。底座形状:

  • cost_usd - - 你的账户为请求被收取的具体金额。权威。
  • prompt_tokens / completion_tokens / total_tokens - - 面向聊天风格模特。
  • 缓存字段(cache_read_input_tokenscache_creation_input_tokens) - - 当提示缓存应用时。

采用分级、按通话或变体定价的上游车型会在usage上盖额外的字段,这样你可以看到应用了哪些费率:

  • 分级/变体定价。 当同一维度有多个费率时,工人会在usage上盖上分级鉴别码。主要字段是pricing_tier_label(人类可读,例如"Medium context" / "Pro" / "2K")。年长的工人可能会直接盖住原始尺寸(resolutionqualitymoderate_tier)。仪表盘会根据所在位置的徽章进行渲染。
  • 按呼叫计费。 按工具调用(搜索、取物、代码执行等)计费的员工,盖章数量tool_calls_details.<tool>.invocationtool_usage.<tool>。仪表盘会自动将这些内容扩展为每个工具的细分。
  • 按维度定价。 在一次请求中计费多个维度(例如引用标记+推理标记+深度研究模型上的搜索查询)的工作人员会将每个维度标记为独立字段(citation_tokensreasoning_tokensnum_search_queries等)。

同样的字段驱动仪表盘使用日志中的层级徽章和各工具细分,同时也由每个事件metadata.worker_usage下的[GET /v1/account/usage](/api-reference/api-reference/account/get-account-usage)历史端点返回(以及用于每通话模型的结构化 tool_breakdown 数组)。所以无论你是查看实时响应使用情况、账户使用历史还是仪表盘,层级和计费细分都能完全匹配。

文件网址

EmpirioLabs 不托管用户上传。将任意公共URL直接传递到模型端点的输入字段:

端点族输入场接受
聊天完成(愿景)content[].image_url.url任何公开图片网址或data:URI
聊天完成(音频)content[].audio_url.url任何公共音频网址
图像生成(编辑/变体)image: ["https://..."]最多N个URL(型号特定限制)
视频生成(i2v / r2v / 剪辑)image: "https://..." / video: "https://..."公共网址
音频TTS / 音乐n/a(纯文本输入)-
音频转录file_url: "https://..." 或者多部分file=@local.mp3公共网址或短片直接上传
搜索n/a(查询文本)-
嵌入(多模态)input[].url(image/video项)公共网址
军衔重组n/a(文本查询 + 文本文档)-

特别是音频转录,/v1/audio/transcriptions上的多部分直接上传是支持的非URL私密片段路径 - - 这些字节直接流向speech-to-text工作者,无需持久存储。

生成的输出URL会被签名,并在创建后7天到期。没有重新签名的端点。将你需要保留的所有内容 - - 包括URL和二进制文件 - - 保存在该窗口内。

异步作业

GET /v1/jobs/<job-id> - 轮询任何异步生成或转录作业的状态/最终结果。

工作状态在完成后保留1小时

Job state shape
1{
2 "job_id": "job_01HV...",
3 "status": "processing | completed | failed",
4 "progress": 0.42,
5 "created_at": "2026-05-02T17:11:32Z",
6 "completed_at": null,
7 "result": null,
8 "error": null
9}

status completed时,result场以同步端点返回的相同形状传递完整响应。

入站HTTP超时时间是15分钟。同步完成的聊天接近这个限制时,应该会设置stream=true部分输出回流,连接保持温暖。

模型

GET /v1/models - - 列出所有可用型号。

GET /v1/models/<model-id> - 一个模型的完整模式,包括其参数表。

GET /v1/models?format=openrouter 返回标记为“准备好合作伙伴摄取”的模型的 OpenRouter 模型列表形状。具体响应字段请参见[OpenRouter型号列表](/openrouter-model-listing)。

每个型号都回归:

场地描述
id正则弹头(例如wan-2-7-image
description简短的营销说明
category文本 / 图片 / 视频 / 音频 / 转录 / 研究 / 工具 / 嵌入 / 重新排序器
input_modalities模型接受的条件
output_modalities模型发出的能量
context_window令牌(聊天)还是空(媒体)
region服务器区域
logo型号标志的CDN URL
pricing_rows每个令牌、每个图像、每秒或每个通话速率
supported_endpoints哪些端点/v1/...接受该模型
parameters完整模式 - 名称、类型、默认值、min/max、允许值、描述
features标签如直播、视觉、tool_calling、voice_cloning
$curl https://api.empiriolabs.ai/v1/models | jq '.data[0]'
$curl https://api.empiriolabs.ai/v1/models/wan-2-7-image | jq '.parameters'

disable_formatting旗

许多聊天、搜索、研究和重新排序终端都接受disable_formatting=true标记。当设置为支持模型时,工作者跳过EmpirioLabs的服务器端格式化(引用重写、参考文献块、思考块Markdown等),并逐字返回上游有效载荷的形状。

覆盖范围是按车型进行宣传的。supports_passthrough GET /v1/models/\{id\}确认某个型号是否符合该旗帜。宣传supports_passthrough: true的模特也接受raw=truepassthrough=trueraw_response=true等别名。没有该字段的型号只接受规范的disable_formatting=true形式(或者根本不支持直通)。模型卡上会列出每个型号接受的别名。

图像、视频、音频生成、转录和嵌入端点不接受该标志,因为这些端点没有格式层可禁用。

生成媒体留存率

生成的图片、视频和音频会以签名URL返回,有效期为7天。之后,URL就不再工作,资产也消失了 - - 没有重新签名的端点。在7天期限结束前,把你想保留的东西保存起来。

错误

OpenAI 信封在聊天/回复/图片/视频/音频/搜索/嵌入/重新排名中:

1{
2 "error": {
3 "message": "Aspect ratio is not supported by this model. Allowed: 16:9, 9:16, 1:1, ...",
4 "type": "invalid_request_error",
5 "code": "invalid_parameter",
6 "param": "aspect_ratio"
7 }
8}

Anthropic信封/v1/messages

1{ "type": "error", "error": { "type": "invalid_request_error", "message": "..." } }

头部参考

头部必修目的
Authorization / x-api-key是的持有令牌认证
Content-Type是的,在POST上application/json或是multipart/form-data
Accepttext/event-stream强制聊天端点使用 SSE
anthropic-version呼唤/v1/messagesAnthropic API 版本(例如 2023-06-01

请在[Provider and Models](/providers)下浏览各模型参数模式。当你点击进入特定模型时,模型接受的每个参数 - - 类型、默认值、范围、允许值、条件标志 - - 都会在从实时数据库生成的表格中被记录下来。