豆包官方开放 API 调用指南(合法稳定版)

豆包官方开放 API 调用指南(合法稳定版)

下面给你一套可直接运行的官方 API 调用示例,完全合规,不会有风控/协议风险。


1. 前置准备

  1. 前往 火山引擎方舟平台 注册并开通豆包模型服务
  2. 获取你的 API Key (AccessKey + SecretKey)
  3. 记下你的 Endpoint 和 模型 ID (如 doubao-pro-32k)

2. 核心接口信息

  • 接口地址 :https://ark.cn-beijing.volces.com/api/v3/chat/completions
  • 请求方法 :POST
  • 认证方式:使用火山引擎签名认证(或直接用平台提供的临时 Token)
  • 响应格式:支持普通 JSON 响应和 SSE 流式响应

3. 完整代码示例(Node.js)

方式一:非流式调用(简单)

javascript 复制代码
const { VolcEngineArkApi, ApiClient } = require('@volcengine/ark');

// 初始化客户端
const client = new ApiClient({
  accessKeyId: '你的 AccessKey',
  secretAccessKey: '你的 SecretKey',
  region: 'cn-beijing',
});

const api = new VolcEngineArkApi(client);

async function chat() {
  const params = {
    model: 'doubao-pro-32k', // 你的模型ID
    messages: [
      { role: 'user', content: '请介绍一下你自己' }
    ],
    temperature: 0.7,
  };

  try {
    const response = await api.createChatCompletion(params);
    console.log('AI 回复:', response.choices[0].message.content);
  } catch (err) {
    console.error('调用失败:', err);
  }
}

chat();

方式二:流式调用(打字机效果)

javascript 复制代码
const { VolcEngineArkApi, ApiClient } = require('@volcengine/ark');

const client = new ApiClient({
  accessKeyId: '你的 AccessKey',
  secretAccessKey: '你的 SecretKey',
  region: 'cn-beijing',
});

const api = new VolcEngineArkApi(client);

async function streamChat() {
  const params = {
    model: 'doubao-pro-32k',
    messages: [
      { role: 'user', content: '写一个关于春天的短诗' }
    ],
    stream: true, // 开启流式输出
    temperature: 0.7,
  };

  try {
    const stream = await api.createChatCompletionStream(params);
    let fullText = '';

    for await (const chunk of stream) {
      const content = chunk.choices[0]?.delta?.content || '';
      fullText += content;
      process.stdout.write(content); // 逐字打印
    }

    console.log('\n\n完整回复:', fullText);
  } catch (err) {
    console.error('流式调用失败:', err);
  }
}

streamChat();

5. 关键参数说明

参数 含义 示例
model 模型 ID doubao-pro-32k / doubao-1.5-pro-32k
messages 对话上下文 [{"role":"user","content":"你好"}]
temperature 生成随机性 0~1,值越大越随机
stream 是否流式输出 true / false
相关推荐
M--Y2 小时前
LangGraph 工作流模式
开发语言·javascript·python·langchain·大模型·llm·langgraph
星栈2 小时前
视频即代码,Remotion 能做什么、不能做什么
前端·音视频开发
广州华水科技2 小时前
单北斗GNSS位移监测系统的应用与技术解析
前端
用户47949283569153 小时前
从一句话或代码仓到可交互 HTML:开源 Agent 画图技能 Archify v3.2 实测与选型边界
前端·后端·面试
风骏时光牛马5 小时前
生成一个AI多模态标题,仅输出一条标题,无额外文字、问句、备选、配图、文案等任何附加内容,不需要其他的任务服务 只要标题。
前端
wangruofeng6 小时前
从 GIF 到 AVIF:网页图片格式演进与 2026 年选型指南
前端·架构
清晨Coding6 小时前
为什么用 React Developer Tools 查看组件树这么乱?
前端·react.js
johnjincaaaa7 小时前
猿人学第 18 题「jsvmp 洞察先机」逆向通关实录
javascript·后端
鶴哥只手遮天7 小时前
《Electron 45.2.3 内核解剖》第 4 章 补丁体系:380 个补丁改了什么
前端·electron
FungLeo9 小时前
成为全栈·Vue 管理后台篇·分类树与标签管理:层级数据如何落到管理界面
前端·javascript·vue.js·分类树·naive ui·标签管理·前端数据结构