openai-api について
openai-apiは、SDKやHTTPリクエストでOpenAI APIを利用する開発者向けのスキルです。チャット、ストリーミング、関数呼び出し、埋め込み、画像生成、音声処理のガイドとテンプレートを収録しています。
主な機能
- 01チャット補完とストリーミング
- 02関数呼び出しと構造化出力
- 03テキスト埋め込み
- 04画像生成と編集
- 05音声文字起こしと音声合成
活用シーン
- 01アプリへのストリーミングチャット追加
- 02モデル応答と関数の連携
- 03テキストの埋め込み生成
- 04音声の文字起こしや音声生成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ secondsky/ claude-skills --skill openai-apiインストール後、Claude Code で/openai-apiを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/audio-guide.mdcost-optimization.mdembeddings-guide.mderror-catalog.mdfunction-calling-patterns.mdimages-guide.mdmodels-guide.mdstructured-output-guide.mdtop-errors.mdscripts/check-versions.shtemplates/audio-transcription.tsbasic-usage.tschat-completion-basic.tschat-completion-nodejs.tscloudflare-worker.tsembeddings.tsfunction-calling.tsimage-editing.tsimage-generation.tsmoderation.tspackage.jsonrate-limit-handling.tsstreaming-chat.tsstreaming-fetch.tsstructured-output.tstext-to-speech.tsvision-gpt4o.ts詳細
OpenAI API
Package: [email protected] | 最終更新日: 2025-11-21
クイックスタート
bun add openai
export OPENAI_API_KEY="sk-..."
import OpenAI from 'openai';
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'Hello!' }]
});
現在のモデル(2025年)
- gpt-5.2:最も高性能(128k コンテキスト)
- gpt-4o:高速なマルチモーダルモデル(128k コンテキスト)
- gpt-4o-mini:コスト効率に優れたモデル(128k コンテキスト)
- gpt-4o-transcribe:音声文字起こしに最適化
- gpt-4o-mini-transcribe:コスト効率に優れた文字起こし
- o1-preview:高度な推論(128k コンテキスト)
- o1-mini:高速な推論(128k コンテキスト)
チャット補完
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [
{ role: 'system', content: 'You are a helpful assistant' },
{ role: 'user', content: 'Explain AI' }
],
temperature: 0.7,
max_tokens: 1000
});
ストリーミング
const stream = await client.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'Tell a story' }],
stream: true
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || '');
}
関数呼び出し
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'What is the weather?' }],
tools: [{
type: 'function',
function: {
name: 'getWeather',
parameters: {
type: 'object',
properties: { location: { type: 'string' } },
required: ['location']
}
}
}]
});
埋め込み
const response = await client.embeddings.create({
model: 'text-embedding-3-small',
input: 'Your text here'
});
const embedding = response.data[0].embedding; // 1536 dimensions
画像(GPT-Image-1.5)
const image = await client.images.generate({
model: 'gpt-image-1.5',
prompt: 'A serene landscape',
size: '1024x1024',
quality: 'standard' // or 'hd'
});
音声
文字起こし(Whisper):
const transcription = await client.audio.transcriptions.create({
file: fs.createReadStream('audio.mp3'),
model: 'whisper-1'
});
テキスト読み上げ:
const speech = await client.audio.speech.create({
model: 'tts-1',
voice: 'alloy',
input: 'Hello world'
});
主なエラー
- 無効な API キー(401):OPENAI_API_KEY を確認してください
- レート制限(429):指数バックオフを実装してください
- モデルが見つからない(404):正しいモデル名を使用してください
- コンテキスト長(400):入力サイズを減らしてください
- 無効な JSON:関数呼び出しのスキーマを修正してください
参照:references/error-catalog.md
リソース
リファレンスガイド
references/models-guide.md- モデルの詳細な比較と選び方references/function-calling-patterns.md- 関数呼び出しのベストプラクティスreferences/structured-output-guide.md- JSON Schema による構造化出力references/embeddings-guide.md- テキスト埋め込みとベクトル検索references/images-guide.md- GPT-Image-1.5 による画像生成references/audio-guide.md- Whisper による文字起こしと TTSreferences/cost-optimization.md- トークンの最適化と料金references/top-errors.md- 解決策付きの主なエラー20件references/error-catalog.md- エラーの完全なリファレンス
テンプレート
templates/basic-usage.ts- クイックスタートの例templates/chat-completion-basic.ts- 基本的なチャット補完templates/chat-completion-nodejs.ts- Node.js の実装templates/streaming-chat.ts- ストリーミング応答templates/streaming-fetch.ts- fetch API によるストリーミングtemplates/function-calling.ts- ツールと関数呼び出しtemplates/structured-output.ts- JSON Schema による出力templates/vision-gpt4o.ts- GPT-4o による画像認識templates/embeddings.ts- テキスト埋め込みtemplates/image-generation.ts- GPT-Image-1.5 による画像生成templates/image-editing.ts- 画像編集templates/audio-transcription.ts- Whisper による文字起こしtemplates/text-to-speech.ts- 音声を使った TTStemplates/moderation.ts- コンテンツモデレーションtemplates/rate-limit-handling.ts- 指数バックオフtemplates/cloudflare-worker.ts- Cloudflare Workers との統合
コメント
Markdown 対応