@apicity/openai
v0.1.0
Published
OpenAI / GPT provider for chat completions.
Readme
@apicity/openai
OpenAI / GPT provider for chat completions.
Installation
npm install @apicity/openai
# or
pnpm add @apicity/openaiQuick Start
import { openai as createOpenai } from "@apicity/openai";
const openai = createOpenai({ apiKey: process.env.OPENAI_API_KEY! });API Reference
38 endpoints across 10 groups. Each method mirrors an upstream URL path.
audio
POST https://api.openai.com/v1/audio/speech
const res = await openai.v1.audio.speech({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/audio/transcriptions
const res = await openai.v1.audio.transcriptions({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/audio/translations
const res = await openai.v1.audio.translations({ /* ... */ });Source: packages/provider/openai/src/openai.ts
batches
GET https://api.openai.com/v1/batches/{idOrOpts}
const res = await openai.v1.batches({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/batches
const res = await openai.v1.batches({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/batches/{id}/cancel
const res = await openai.v1.batches.cancel({ /* ... */ });Source: packages/provider/openai/src/openai.ts
chat
DELETE https://api.openai.com/v1/chat/completions/{id}
const res = await openai.v1.chat.completions({ /* ... */ });Source: packages/provider/openai/src/openai.ts
GET https://api.openai.com/v1/chat/completions/{idOrOpts}
const res = await openai.v1.chat.completions({ /* ... */ });Source: packages/provider/openai/src/openai.ts
GET https://api.openai.com/v1/chat/completions/{id}/messages
const res = await openai.v1.chat.completions.messages({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/chat/completions/{id}
const res = await openai.v1.chat.completions({ /* ... */ });Source: packages/provider/openai/src/openai.ts
embeddings
POST https://api.openai.com/v1/embeddings
const res = await openai.v1.embeddings({ /* ... */ });Source: packages/provider/openai/src/openai.ts
files
DELETE https://api.openai.com/v1/files/{id}
const res = await openai.v1.files({ /* ... */ });Source: packages/provider/openai/src/openai.ts
GET https://api.openai.com/v1/files/{idOrOpts}
const res = await openai.v1.files({ /* ... */ });Source: packages/provider/openai/src/openai.ts
GET https://api.openai.com/v1/files/{id}/content
const res = await openai.v1.files.content({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/files
const res = await openai.v1.files({ /* ... */ });Source: packages/provider/openai/src/openai.ts
fineTuning
DELETE https://api.openai.com/v1/fine_tuning/checkpoints/{checkpoint}/permissions/{permissionId}
const res = await openai.v1.fineTuning.checkpoints.permissions({ /* ... */ });Source: packages/provider/openai/src/openai.ts
GET https://api.openai.com/v1/fine_tuning/checkpoints/{checkpoint}/permissions
const res = await openai.v1.fineTuning.checkpoints.permissions({ /* ... */ });Source: packages/provider/openai/src/openai.ts
GET https://api.openai.com/v1/fine_tuning/jobs/{idOrOpts}
const res = await openai.v1.fineTuning.jobs({ /* ... */ });Source: packages/provider/openai/src/openai.ts
GET https://api.openai.com/v1/fine_tuning/jobs/{id}/checkpoints
const res = await openai.v1.fineTuning.jobs.checkpoints({ /* ... */ });Source: packages/provider/openai/src/openai.ts
GET https://api.openai.com/v1/fine_tuning/jobs/{id}/events
const res = await openai.v1.fineTuning.jobs.events({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/fine_tuning/checkpoints/{checkpoint}/permissions
const res = await openai.v1.fineTuning.checkpoints.permissions({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/fine_tuning/jobs
const res = await openai.v1.fineTuning.jobs({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/fine_tuning/jobs/{id}/cancel
const res = await openai.v1.fineTuning.jobs.cancel({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/fine_tuning/jobs/{id}/pause
const res = await openai.v1.fineTuning.jobs.pause({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/fine_tuning/jobs/{id}/resume
const res = await openai.v1.fineTuning.jobs.resume({ /* ... */ });Source: packages/provider/openai/src/openai.ts
images
POST https://api.openai.com/v1/images/edits
const res = await openai.v1.images.edits({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/images/generations
const res = await openai.v1.images.generations({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/images/variations
const res = await openai.v1.images.variations({ /* ... */ });Source: packages/provider/openai/src/openai.ts
models
DELETE https://api.openai.com/v1/models/{id}
const res = await openai.v1.models({ /* ... */ });Source: packages/provider/openai/src/openai.ts
GET https://api.openai.com/v1/models/{id}
const res = await openai.v1.models({ /* ... */ });Source: packages/provider/openai/src/openai.ts
moderations
POST https://api.openai.com/v1/moderations
const res = await openai.v1.moderations({ /* ... */ });Source: packages/provider/openai/src/openai.ts
responses
DELETE https://api.openai.com/v1/responses/{id}
const res = await openai.v1.responses({ /* ... */ });Source: packages/provider/openai/src/openai.ts
GET https://api.openai.com/v1/responses/{id}
const res = await openai.v1.responses({ /* ... */ });Source: packages/provider/openai/src/openai.ts
GET https://api.openai.com/v1/responses/{id}/input_items
const res = await openai.v1.responses.inputItems({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/responses
const res = await openai.v1.responses({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/responses/{id}/cancel
const res = await openai.v1.responses.cancel({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/responses/compact
const res = await openai.v1.responses.compact({ /* ... */ });Source: packages/provider/openai/src/openai.ts
POST https://api.openai.com/v1/responses/input_tokens
const res = await openai.v1.responses.inputTokens({ /* ... */ });Source: packages/provider/openai/src/openai.ts
Middleware
import { openai as createOpenai, withRetry } from "@apicity/openai";
const openai = createOpenai({ apiKey: process.env.OPENAI_API_KEY! });
const models = withRetry(openai.get.v1.models, { retries: 3 });Part of the apicity monorepo.
License
MIT — see LICENSE.
