面向开发者的 Venice API 文档
Venice API 是一项兼容 OpenAI 标准的无审查 LLM 服务。使用基础 URL HTTPS://api.veniceapi.com/v1 发送请求,并在 Authorization 头中提供 API 密钥。
认证与基础 URL
立即通过设置基础 URL 为 https://api.veniceapi.com/v1 并在 Authorization 头部,您通过 Google 或邮箱注册后立即获得此密钥。此单一模型处理所有文本生成,无需路由逻辑。您无需管理多个端点或代理配置。
保持密钥安全。每个账户同时只允许一个活跃密钥;生成新密钥将使旧密钥失效。这确保 token 使用和计费的清晰归属。
聊天完成端点
向 /v1/chat/completions 使用标准 HTTP POST 方法的端点。API 接受包含模型名称、系统指令和用户消息的 JSON 负载。
以下是基本请求结构:
curl https://api.veniceapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Check if the service blocks adult content in the test endpoint"}]
}'响应返回生成的文本、令牌使用统计信息和补全标志。您可以使用诸如 之类的参数调整行为 temperature 或 top_p. 这些设置控制输出中的创造力和随机性。
错误返回标准 HTTP 代码。401 表示密钥无效,402 表示余额不足。使用这些代码在自动化工作流中优雅地处理失败。
Python SDK 集成
使用官方 OpenAI Python 库与未审查的 LLM 交互。使用 Venice base URL 和您的 API 密钥配置客户端。此方法简化了请求构建和响应解析。
from openai import OpenAI
client = OpenAI(base_url="https://api.veniceapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)此方法与为 OpenAI 设计的现有代码库无缝协作。您可以更改 base URL 而无需大幅修改应用程序逻辑。库会自动处理序列化和网络连接。
请记住,模型 ID 必须设置为 uncensored. 这确保您使用的是 Venice 提供的特定微调模型。其他模型可能不会表现出相同的行为模式。
Node SDK 集成
使用 OpenAI Node SDK 将 API 集成到 JavaScript 或 TypeScript 项目中。设置 baseURL 到 Venice 端点并提供您的 API 密钥。此设置支持同步和异步操作。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.veniceapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);此集成使您能够快速构建聊天机器人、内容生成器或数据提取工具。SDK 管理请求生命周期,包括重试和错误处理。如果需要,您可以传递自定义标头以用于高级用例。
请确保导入正确版本的 SDK。旧版本可能不支持 Venice API 提供的所有功能。请查看文档以获取兼容性详情。
通过 SSE 的流式响应
通过设置 stream 参数到 trueAPI 返回服务器发送事件(SSE)流,而不是完整的 JSON 对象。这允许你实时显示生成的令牌。
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)流式传输降低了用户的感知延迟。它非常适合聊天界面或实时仪表板。流的最后一个块包含最终的 token 使用统计信息。解析此数据以准确跟踪成本。
优雅地处理连接中断。如果流中断,您可以重试请求。如果同时有多个流处于活动状态,API 不保证顺序。在高流量期间密切监控您的速率限制。
错误处理和限制
API 的速率限制为每分钟 300 次请求(每个密钥)。并发请求上限为每个密钥 8 个。请求体不得超过 8 MB。超出这些限制将返回 429 Too Many Requests 错误。
上下文窗口大小为 100,000 个 token(提示词和补全总和)。每次请求的最大输出为 16,000 个 token。如果 max_tokens 未设置时,限制默认为 2,048 个 token。请相应规划您的输入以避免截断。
常见错误包括 401(无效密钥)和 402(余额不足)。处理这些代码以提示用户充值。对于计费问题使用支持页面。余额永不过期,因此您可以稍后充值。
常见问题
Venice API 的基础 URL 是什么?
基础 URL 为 HTTPS://api.veniceapi.com/v1。使用此端点处理所有聊天补全请求。它与标准的 OpenAI SDK 兼容。
我如何对请求进行身份验证?
将 API 密钥包含在 Authorization 请求头中,格式为 Bearer token。注册后立即获得密钥。
代币定价费率是多少?
输入令牌每 1M 个收费 $0.15。输出令牌每 1M 个收费 $0.50。错误免费,预付费余额永不过期。