59API

← सभी गाइड पर लौटें

Node.js 与 TypeScript 统一调用 Claude 和 GPT 实战

गाइड · ZH · 2026-08-04

为什么用 59API 做统一接入

如果你同时要接 Claude 和 GPT,最麻烦的通常不是写业务逻辑,而是维护两套 SDK、两套鉴权、两套错误处理。59API 把这些都收敛到同一个 OpenAI 兼容入口,开发者只需要把 baseURL 指向 https://api.59api.com,就能在 Node.js 和 TypeScript 里统一调用 Claude Opus、Sonnet、Haiku、Fable 以及 GPT 系列模型。

它的优势很实用:按量付费,适合小项目和生产环境;价格通常比直接接多家官方接口更低;而且使用的是原生官方质量模型,没有“降级代理”的那种输出偏差。对需要接入 Claude Code、Codex 或现成 OpenAI SDK 的团队来说,这种兼容性可以直接省掉大量适配工作。

先准备一个最小可运行的 TypeScript 项目

下面是一个简单的起步方式。你可以先安装依赖,再放入环境变量:

npm init -y

npm i openai dotenv

npm i -D typescript ts-node @types/node

然后创建 .env:

API_KEY=你的59API密钥

接着在 tsconfig.json 里保证 target 至少是 ES2020,这样 async/await 和现代语法都能正常跑。

用同一套代码分别调用 Claude 和 GPT

核心思路很简单:你不需要分别引入 Anthropic SDK 和 OpenAI SDK,只要使用 OpenAI 兼容客户端,并把 baseURL 改成 59API 即可。

import OpenAI from 'openai';

import 'dotenv/config';

const client = new OpenAI({

apiKey: process.env.API_KEY,

baseURL: 'https://api.59api.com/v1',

});

async function ask(model: string, prompt: string) {

const res = await client.chat.completions.create({

model,

messages: [{ role: 'user', content: prompt }],

temperature: 0.2,

});

console.log(res.choices[0]?.message?.content);

}

async function main() {

await ask('claude-sonnet-4', '请用三点解释什么是 TypeScript 类型推断');

await ask('gpt-4o-mini', '把上面的解释改写成适合初学者的版本');

}

main().catch(console.error);

这段代码的关键点在于:模型名可以按你在 59API 控制台里看到的 Claude 或 GPT 名称替换;如果你的项目已经接 OpenAI SDK,那么几乎不需要改业务代码,只改网关地址和模型名就行。

为什么这种方式特别适合真实项目

几个实战建议,避免踩坑

第一,建议把 model 名称抽成配置项,比如写进 .env,这样你可以在不同环境切换 Claude 和 GPT,而不用改代码。第二,记得给请求加上超时和错误处理,生产环境里网络波动比你想象的更常见。第三,如果你要做批量生成或后台任务,建议把 temperature 调低,输出会更稳定,也更利于重试。

如果你的团队还想把调用成本压得更低,59API 还有推荐返利机制,适合把工具链分享给同事、客户或社区后持续降低使用成本。

什么时候该开始用

当你已经不想再维护多套 AI SDK、又希望 Claude 和 GPT 都能稳定跑在同一项目里时,59API 是一个非常省事的选择。它把“接入复杂度”降到最低,同时保留了原生官方质量模型的体验。你可以先用上面的 TypeScript 示例跑通一轮,再按业务逐步替换到你自己的服务里。想省时间、也想省预算的话,建议先注册测试一下。

मूल्य · दस्तावेज़

शुरू करने के लिए तैयार?

कुछ ही मिनटों में Claude और GPT जोड़ें, सबसे कम कीमत पर। साइन अप करें और API key पाएं।

मुफ़्त साइन अप