需在node.js服务端调用gemini api:先在google ai studio获取密钥并存入.env,用dotenv加载;安装@google/generative-ai sdk,初始化客户端与模型;基础请求用generatecontent,流式响应用generatecontentstream并显式设置responsemimetype。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在 Node.js 项目中安全、稳定地调用 Gemini API 实现文本生成、翻译或对话等能力,必须绕过浏览器直连限制并正确处理密钥、模型配置与响应流式解析。
获取并安全存储 API 密钥
访问 Google AI Studio 登录 Google 账号,进入 “API keys” 页面创建新密钥;复制后立即保存至项目根目录的 .env 文件中,格式为 GEMINI_API_KEY=your_actual_key_here。
这一步不可跳过——Gemini API 拒绝无密钥或明文暴露在前端的请求,【直接在 .js 文件里写死密钥会导致仓库泄露后 API 配额被恶意刷爆】。
运行 npm install dotenv,并在入口文件(如 index.js)顶部添加 require('dotenv').config() 加载密钥。
安装 SDK 并初始化客户端
执行 npm install @google/generative-ai 安装官方 Node.js SDK。
新建 gemini.js,导入模块并初始化:
const { GoogleGenerativeAI } = require("@google/generative-ai");const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });
注意:不指定 generationConfig 时默认返回完整文本;若需控制输出长度或温度,可追加 generationConfig: { temperature: 0.7, maxOutputTokens: 512 }。
发起基础文本生成请求
定义异步函数调用模型:
① 构造输入内容数组:const contents = [{ role: "user", parts: [{ text: "用三句话解释量子纠缠" }] }];
② 发起请求:const result = await model.generateContent(contents);
③ 提取响应:const response = result.response.text();
④ 打印结果:console.log(response);
这一步会阻塞等待完整响应返回,适合单次简短问答场景;若输入含图片或长文档,需改用 generateContentStream 避免超时。
启用流式响应实时输出
方法一:使用 for-await-of 迭代流
const stream = await model.generateContentStream(contents);for await (const chunk of stream) { process.stdout.write(chunk.text());}
方法二:监听 data 事件(兼容旧版 Node.js)
const stream = await model.generateContentStream(contents);stream.on("data", (chunk) => process.stdout.write(chunk.text()));stream.on("end", () => console.log("\n✅ 流式响应结束"));
流式调用必须在服务端环境执行,前端浏览器直接调用会触发 CORS 错误;【未设置 responseMimeType 的流式请求可能返回空 content】,建议显式添加 generationConfig: { responseMimeType: "text/plain" }。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











