Node.js
Use the openai npm package with a custom base URL.
💻Install
npm install openaiES Modules
📒ESM
1import OpenAI from "openai";
2
3const client = new OpenAI({
4 baseURL: "https://api.pawan.krd/v1",
5 apiKey: "pk-your_key",
6});
7
8const response = await client.chat.completions.create({
9 model: "your-model-id",
10 messages: [{ role: "user", content: "Hello!" }],
11});
12
13console.log(response.choices[0].message.content);CommonJS
📒CommonJS
1const OpenAI = require("openai");
2
3const client = new OpenAI({
4 baseURL: "https://api.pawan.krd/v1",
5 apiKey: "pk-your_key",
6});
7
8async function main() {
9 const response = await client.chat.completions.create({
10 model: "your-model-id",
11 messages: [{ role: "user", content: "Hello!" }],
12 });
13 console.log(response.choices[0].message.content);
14}
15
16main();Streaming
📒Streaming
1import OpenAI from "openai";
2
3const client = new OpenAI({
4 baseURL: "https://api.pawan.krd/v1",
5 apiKey: "pk-your_key",
6});
7
8const stream = await client.chat.completions.create({
9 model: "your-model-id",
10 messages: [{ role: "user", content: "Write a story" }],
11 stream: true,
12});
13
14for await (const chunk of stream) {
15 process.stdout.write(chunk.choices[0]?.delta?.content || "");
16}Embeddings
📒Embeddings
1const res = await client.embeddings.create({
2 model: "your-embedding-model",
3 input: ["doc one", "doc two"],
4});
5console.log(res.data[0].embedding.length);Text-to-Speech
📒TTS
1import { writeFile } from "node:fs/promises";
2
3const speech = await client.audio.speech.create({
4 model: "your-tts-model",
5 voice: "alloy",
6 input: "Hello from Pawan.Krd!",
7});
8
9await writeFile("hello.mp3", Buffer.from(await speech.arrayBuffer()));Speech-to-Text
📒STT
1import { createReadStream } from "node:fs";
2
3const transcript = await client.audio.transcriptions.create({
4 model: "your-stt-model",
5 file: createReadStream("audio.mp3"),
6 response_format: "verbose_json",
7});
8
9console.log(transcript.text);Image generation
📒Images
1const result = await client.images.generate({
2 model: "your-image-model",
3 prompt: "A cat astronaut on Mars",
4 size: "1024x1024",
5});
6console.log(result.data[0].url);