openai-api
This skill documents and provides runnable templates for integrating OpenAI stateless APIs (chat, embeddings, images, audio, moderation) and includes example code and install/test scripts. It requires an OPENAI_API_KEY, directs local shell commands such as ./scripts/install-skill.sh and cd /home/jez/Documents/claude-skills/skills/openai-api, and makes network calls to https://api.openai.com/v1/....
openai-api
OpenAI API Skill for Claude Code CLI
Status: Production Ready ✅ Latest SDK: openai@6.7.0 API Coverage: Chat Completions, Embeddings, Images, Audio, Moderation
What This Skill Does
This skill provides comprehensive knowledge for building applications with OpenAI's traditional/stateless APIs - Chat Completions, Embeddings, Images (DALL-E 3), Audio (Whisper + TTS), and Moderation.
Key Capabilities
✅ Chat Completions API with GPT-5, GPT-4o, GPT-4 Turbo ✅ GPT-5 specific parameters (reasoning_effort, verbosity) ✅ Streaming with Server-Sent Events (SSE) ✅ Function calling (custom tools) ✅ Structured outputs (JSON schema validation) ✅ Vision (image understanding with GPT-4o) ✅ Embeddings (text-embedding-3-small/large with custom dimensions) ✅ Images (DALL-E 3 generation + editing with transparent backgrounds) ✅ Audio (Whisper transcription + TTS with 11 voices) ✅ Moderation (content safety checks) ✅ Both Node.js SDK and fetch-based (Cloudflare Workers) approaches
Auto-Trigger Keywords
Primary Keywords (Chat Completions)
openai apichat completionschatgpt apigpt-5gpt-5-minigpt-5-nanogpt-4ogpt-4 turboopenai sdkopenai npm
Streaming Keywords
openai streamingstream chat completionssse streaming openaiserver-sent events openaistreaming tokens openai
Function Calling & Structured Output
function calling openaiopenai toolstool calling openaistructured output openaijson mode openaijson schema openaiopenai validation
Vision Keywords
gpt-4o visionimage understanding openaivision api openaianalyze image gptmultimodal gpt
GPT-5 Specific
reasoning_effortverbosity openaigpt-5 parametersgpt-5 limitationsno temperature gpt-5no top_p gpt-5
Embeddings Keywords
openai embeddingstext-embedding-3-smalltext-embedding-3-largetext-embedding-ada-002embeddings apivector embeddings openaicustom dimensions embeddingsembeddings batch processingembeddings rag
Images Keywords
dall-e 3dall-e-3image generation openaiopenai imagesgenerate image gptdalle apiimage editing openaitransparent background dalledall-e qualitydall-e hd
Audio Keywords
whisper apiopenai transcriptionaudio transcription openaiwhisper transcriptionopenai ttstext to speech openaispeech synthesis openaitts-1tts-1-hdgpt-4o-mini-ttsopenai voicesalloy voicenova voice
Moderation Keywords
openai moderationcontent moderation openaimoderation apicontent safety openaiomni-moderation-latest
SDK & Implementation
openai nodeopenai typescriptopenai javascriptopenai fetchopenai cloudflare workersopenai browser
Error Keywords
openai rate limitopenai 429openai 401rate limit exceeded openaiinvalid api key openaifunction calling error openaitool schema invalid openaistreaming parse error openaisse error openaiembeddings dimension errorwhisper format errortts voice not founddall-e generation failedtoken limit exceeded openaiapi key exposure
Integration Keywords
nextjs openaireact openaicloudflare workers openaivercel openaiopenai backendopenai server
Comparison Keywords
openai vs responses apichat completions vs responsesstateless openaitraditional openai api
When to Use This Skill
✅ Use openai-api When:
- Building traditional/stateless AI integrations
- Simple one-off text generation or chat
- Implementing embeddings for RAG/search
- Generating images with DALL-E 3
- Audio processing (Whisper transcription, TTS)
- Content moderation checks
- Need multi-provider flexibility (can switch to Anthropic/Google later)
- Using Cloudflare Workers or other edge runtimes
- No conversation state management needed
❌ Don't Use openai-api When:
- Building agentic workflows (use openai-responses skill)
- Need stateful conversations with automatic state management
- Want built-in tools (Code Interpreter, File Search, Web Search)
- Need MCP server integration
- Want preserved reasoning across conversation turns
- Implementing background mode for long-running tasks
Quick Example
Chat Completion (Node.js SDK)
import OpenAI from 'openai';
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
const completion = await openai.chat.completions.create({
model: 'gpt-5',
messages: [
{ role: 'user', content: 'What are the three laws of robotics?' }
],
reasoning_effort: 'medium',
});
console.log(completion.choices[0].message.content);
Chat Completion (Fetch - Cloudflare Workers)
const response = await fetch('https://api.openai.com/v1/chat/completions', {
method: 'POST',
headers: {
'Authorization': `Bearer ${env.OPENAI_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'gpt-5',
messages: [
{ role: 'user', content: 'What are the three laws of robotics?' }
],
reasoning_effort: 'medium',
}),
});
const data = await response.json();
console.log(data.choices[0].message.content);
Known Issues Prevented
| Issue | Cause | Solution |
|---|---|---|
| Rate limit 429 errors | Too many requests | Exponential backoff pattern |
| Invalid API key (401) | Missing OPENAI_API_KEY | Environment variable setup |
| Function schema errors | Invalid tool definition | JSON schema validation |
| Streaming parse errors | Incomplete SSE chunks | Proper SSE parsing |
| Vision encoding errors | Invalid base64 | Correct image encoding |
| Embeddings dimension mismatch | Wrong model dimensions | Verify model specs |
| Audio format errors | Unsupported format | Use mp3/wav/etc |
| TTS voice not found | Invalid voice name | Use one of 11 voices |
| Token limit exceeded | Input too long | Truncate or chunk |
| API key exposure | Client-side key | Server-side proxy |
Relationship to openai-responses
openai-api (This Skill)
Traditional/stateless API for:
- Simple chat completions
- Embeddings
- Images (DALL-E)
- Audio (Whisper/TTS)
- Moderation
openai-responses Skill
Stateful/agentic API for:
- Automatic conversation state
- Preserved reasoning across turns
- Built-in tools (Code Interpreter, File Search, Web Search, Image Generation)
- MCP server integration
- Background mode
Use both: openai-api for simple tasks, openai-responses for complex agentic workflows
Token Efficiency
Without Skill
- Research all APIs: ~21,000 tokens
- Implementation + debugging: Hours of trial and error
With Skill
- Skill discovery + templates: ~8,500 tokens
- Copy-paste ready code: Minutes to working implementation
Savings: ~59% (12,500 tokens)
What You Get
SKILL.md Content
- Complete API reference (900+ lines)
- GPT-5 specific guidance
- Streaming patterns
- Function calling
- Structured outputs
- Vision examples
- Embeddings guide
- Images guide
- Audio guide
- Moderation guide
- Top 10 errors with solutions
- Production best practices
14 Templates
- chat-completion-basic.ts
- chat-completion-nodejs.ts
- streaming-chat.ts
- streaming-fetch.ts
- function-calling.ts
- structured-output.ts
- vision-gpt4o.ts
- embeddings.ts
- image-generation.ts
- image-editing.ts
- audio-transcription.ts
- text-to-speech.ts
- moderation.ts
- cloudflare-worker.ts
- package.json
10 Reference Docs
- models-guide.md (GPT-5/4o/4-turbo comparison)
- function-calling-patterns.md
- structured-output-guide.md
- embeddings-guide.md
- images-guide.md
- audio-guide.md
- error-handling.md
- rate-limits.md
- cost-optimization.md
- top-errors.md
1 Script
- check-versions.sh (verify package versions)
Installation
# From claude-skills repo root
./scripts/install-skill.sh openai-api
# Verify installation
ls -la ~/.claude/skills/openai-api
Quick Reference
Package Version
npm install openai@6.7.0
Environment Variables
export OPENAI_API_KEY="sk-..."
Models Overview
- GPT-5: gpt-5, gpt-5-mini, gpt-5-nano (reasoning_effort, verbosity)
- GPT-4o: gpt-4o (vision capable)
- GPT-4 Turbo: gpt-4-turbo
- Embeddings: text-embedding-3-small (1536), text-embedding-3-large (3072)
- Images: dall-e-3
- Audio: whisper-1 (transcription), tts-1/tts-1-hd/gpt-4o-mini-tts (speech)
- Moderation: omni-moderation-latest
Official Documentation
- Chat Completions: https://platform.openai.com/docs/api-reference/chat/create
- Embeddings: https://platform.openai.com/docs/api-reference/embeddings/create
- Images: https://platform.openai.com/docs/api-reference/images
- Audio: https://platform.openai.com/docs/api-reference/audio
- Moderation: https://platform.openai.com/docs/api-reference/moderations/create
- GPT-5 Guide: https://platform.openai.com/docs/guides/latest-model
- Rate Limits: https://platform.openai.com/docs/guides/rate-limits
- Error Reference: https://platform.openai.com/docs/guides/error-codes
Production Validated: Templates tested with openai@6.7.0 Last Updated: 2025-10-25 Maintainer: Jeremy Dawes | Jezweb