Skip to main content
POST
/
v1
/
chat
/
completions
curl https://api.deerapi.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <DEERAPI_KEY>" \
  -d '{
    "model": "gpt-5.2",
    "messages": [
      {"role": "developer", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ]
  }'
{
  "id": "<string>",
  "object": "<string>",
  "created": 123,
  "model": "<string>",
  "system_fingerprint": "<string>",
  "choices": [
    {
      "index": 123,
      "message": {
        "content": "<string>",
        "role": "<string>"
      },
      "finish_reason": "<string>"
    }
  ],
  "usage": {
    "completion_tokens": 123,
    "completion_tokens_details": {},
    "prompt_tokens": 123,
    "prompt_tokens_details": {},
    "total_tokens": 123
  }
}

第一次接 DeerAPI,先怎么选

如果你没有历史 OpenAI Chat Completions 代码,默认更推荐使用 veo3 逆向异步。视频生成天然更接近“创建任务 -> 轮询状态 -> 获取结果”的工作流,异步格式更适合后端任务队列、超时控制和失败重试。 只有在下面两种场景里,才优先选当前这页的 veo3-chat
  • 你已经在用 OpenAI SDK,或者你的应用只能走 POST /v1/chat/completions
  • 你希望把 Veo 放进现有的多模态 chat 管线里,通过一次长连接直接看生成日志和最终链接。

veo3-chatveo3-async 的区别

维度veo3-chatveo3-async
创建入口POST /v1/chat/completionsPOST /v1/videos
请求形状OpenAI Chat Completions 兼容格式DeerAPI 自定义异步 multipart/form-data
结果获取通过流式输出或最终 assistant 消息查看进度和链接先拿 video_id,再调用 GET /v1/videos/\{video_id\} 轮询
更适合谁已有 OpenAI chat 客户端的人第一次接 DeerAPI、需要明确任务流的人
与 Google 官方的关系兼容层,不是 Google 原生 Veo 请求体也是兼容层,但更贴近“异步任务”工作流

这和 Google 官方 Veo 有什么不同

Google 官方 Veo 文档当前以 generate_videos 和长时运行 operation 对象为中心,模型名通常是 veo-3.1-generate-preview 一类的官方标识,并通过轮询 operations.get 获取完成状态。 当前页不是那套原生协议,而是 DeerAPI 提供的 OpenAI Chat Completions 兼容入口,主要差异是:
  • DeerAPI 使用 veo3veo3-fastveo3-proveo3.1veo3.1-pro 这些统一模型名,不直接暴露 Google 官方模型代码。
  • Google 官方会显式区分 aspect_ratioresolutionreference_imageslast_frame 等字段;当前页改成 messages 里的文本和图片消息格式。
  • Google 官方返回的是 operation;当前页返回的是 Chat Completions 风格响应,choices[0].message.content 通常是一段人类可读的任务日志,里面会包含进度说明和最终视频链接。

当前格式怎么写最稳

  • 纯文生视频,优先用 veo3-fastveo3
  • 需要更强的图像引导时,优先试 veo3.1veo3.1-pro,并把文本与图片一起放到同一条 user 消息里。
  • 长任务建议开启 stream=true。这样你可以像处理流式聊天一样持续读取生成日志,而不是等到最后一次性拿结果。

查询方式

veo3-chat 没有单独的 video_id 查询文档入口。当前格式的“查询”思路是:
  • 如果你传了 stream=true,把流输出当成状态通道,持续读取进度和最终链接。
  • 如果你传了 stream=false,等待最终 assistant 消息返回,再从消息内容中读取结果链接。
  • 如果你需要明确的任务 ID、固定轮询间隔或前后端分离的任务流,不要继续用当前页,直接改用 veo3 逆向异步

常见限制

  • 这是 DeerAPI 的兼容入口,不是 Google 官方原生 Veo API,稳定性不应按 Google 官方 SDK 的预期来理解。
  • 并不是所有通用 chat 参数都对视频生成有稳定、可预期的效果。当前页真正重要的入参通常是 modelmessagesstream,以及可选的图片输入。
  • 如果你传的是图片 URL,请确保链接可公开访问、加载稳定,且不要在生成过程中失效。
  • 上游 Veo 安全过滤仍然会生效。根据 Google 官方最新文档,音效、环境音和对白提示可以直接写在 prompt 里,但违规内容仍会被拦截。

Authorizations

Authorization
string
header
required

Bearer token authentication. Use your DeerAPI key.

Body

application/json
model
string
default:gpt-5.2
required

要使用的模型的 ID。有关哪些模型适用于聊天 API 的详细信息,请参阅模型端点兼容性表:https://platform.openai.com/docs/models/model-endpoint-compatibility

messages
object[]
required
stream
boolean

如果设置,将发送部分消息增量,就像在 ChatGPT 中一样。当令牌可用时,令牌将作为纯数据服务器发送事件data: [DONE]发送,流由消息终止。有关示例代码,请参阅 OpenAI Cookbook 。

temperature
integer

使用什么采样温度,介于 0 和 2 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使输出更加集中和确定。 我们通常建议改变这个或top_p但不是两者。

top_p
integer

一种替代温度采样的方法,称为核采样,其中模型考虑具有 top_p 概率质量的标记的结果。所以 0.1 意味着只考虑构成前 10% 概率质量的标记。 我们通常建议改变这个或temperature但不是两者。

n
integer

为每个输入消息生成多少个聊天完成选项。

stop
string

API 将停止生成更多令牌的最多 4 个序列。

max_tokens
integer

聊天完成时生成的最大令牌数。 输入标记和生成标记的总长度受模型上下文长度的限制。

presence_penalty
number

-2.0 和 2.0 之间的数字。正值会根据到目前为止是否出现在文本中来惩罚新标记,从而增加模型谈论新主题的可能性。 查看有关频率和存在惩罚的更多信息:https://platform.openai.com/docs/api-reference/parameter-details

frequency_penalty
number

-2.0 和 2.0 之间的数字。正值会根据到目前为止是否出现在文本中来惩罚新标记,从而增加模型谈论新主题的可能性。 查看有关频率和存在惩罚的更多信息:https://platform.openai.com/docs/api-reference/parameter-details

logit_bias
null

修改指定标记出现在完成中的可能性。 接受一个 json 对象,该对象将标记(由标记器中的标记 ID 指定)映射到从 -100 到 100 的关联偏差值。从数学上讲,偏差会在采样之前添加到模型生成的 logits 中。确切的效果因模型而异,但 -1 和 1 之间的值应该会减少或增加选择的可能性;像 -100 或 100 这样的值应该导致相关令牌的禁止或独占选择。

user
string

代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。了解更多:https://platform.openai.com/docs/guides/safety-best-practices/end-user-ids

Response

200 - application/json

Successful Response

id
string
required

本次聊天补全的唯一标识符。

object
string
required

对象类型

created
integer
required

聊天补全创建时的Unix时间戳

model
string
required

具体模型名称。

system_fingerprint
string
required

代表模型运行时所使用的后端配置的指纹。

choices
object[]
required

一个包含聊天补全结果选项的列表。如果请求中的 n 参数大于1,这里可能会有多个选项。

usage
object
required

本次请求的token使用情况统计。