OpenAI互換cURLリクエスト生成ツール
OpenAI互換APIエンドポイント用のcURLコマンドを生成します。チャット、補完、埋め込みのリクエストに使用するベースURL、エンドポイント、モデル、プロンプト、temperature、その他のパラメーターを設定できます。
入力
出力
Readme
OpenAI互換 APIとは?
多くの LLM プロバイダーやセルフホスト型推論サーバー(OpenAI 自体、Azure OpenAI、Groq、OpenRouter、Together AI、Mistral、DeepSeek、vLLM、llama.cpp の server、LM Studio、Ollama の OpenAI互換モードなど)は、OpenAI によって普及した同じ REST インターフェースを公開しています。これは、/v1/chat/completions のようなエンドポイントに JSON リクエストを送信し、Authorization ヘッダーの Bearer token で認証する方式です。これにより、統合コードを書き直すことなくプロバイダーを切り替えられます。
これらのエンドポイント用に正しい cURL コマンドを手作業で作成するには、URL、ヘッダー、JSON 本文を完全に正しく指定する必要があります。特に、temperature やペナルティなどのサンプリングパラメーターを調整する場合や、chat、従来の completions、embeddings リクエストを切り替える場合は注意が必要です。
ツールの説明
このツールは、あらゆる OpenAI互換 API 用のすぐに使える cURL コマンドを生成します。ベース URL、エンドポイント、モデル、パラメーターを設定すると、適切にフォーマットされた cURL コマンドを即座に取得でき、ターミナルやスクリプトにそのまま貼り付けて使用できます。
例
Chat completion:
curl -X POST "https://api.openai.com/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{ "role": "system", "content": "あなたは役立つコーディングアシスタントです。" },
{ "role": "user", "content": "stringを反転するPython関数を書いてください" }
],
"temperature": 0.3,
"stream": false
}'セルフホスト型サーバー(vLLM、llama.cpp、LM Studio など):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "llama-3-8b-instruct",
"messages": [
{ "role": "user", "content": "ハムレットのあらすじを2文で要約してください" }
],
"stream": true
}'Embeddings:
curl -X POST "https://api.openai.com/v1/embeddings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "text-embedding-3-small",
"input": "素早い茶色のキツネがのろまな犬を飛び越える"
}'機能
- 最も一般的な3つの OpenAI互換エンドポイント(
/chat/completions、/completions、/embeddings)に対応 - 互換性のある任意のベース URL で動作するため、OpenAI、Azure、Groq、OpenRouter、Together AI、セルフホスト型サーバーなどで利用可能
- 設定可能なサンプリングパラメーター:temperature、top-p、frequency penalty、presence penalty、最大 token 数、completion 数、stop sequence、seed
- chat completions 用の JSON オブジェクト形式のレスポンスに対応
- データはどこにも送信されません。cURL コマンドはすべてブラウザー内で作成され、API key が端末の外部に出ることもありません
オプションの説明
| オプション | 説明 | デフォルト | 範囲 |
|---|---|---|---|
| ベース URL | エンドポイントのパスを含まない API のルート。 | https://api.openai.com/v1 |
任意の URL |
| エンドポイント | 対象にする API エンドポイント。 | /chat/completions |
chat、completions、embeddings |
| Temperature | 出力のランダム性を制御します。低い値ではより焦点の絞られたテキストになり、高い値では創造性が高まります。 | 1 | 0~2 |
| Top P | Nucleus sampling のしきい値。モデルは累積確率がこの値に達する token を考慮します。 | 1 | 0~1 |
| Frequency penalty | すでに登場した回数に基づいて token にペナルティを与え、逐語的な繰り返しを減らします。 | 0 | -2~2 |
| Presence penalty | すでに一度でも登場した token にペナルティを与え、モデルが新しいトピックを導入するよう促します。 | 0 | -2~2 |
| Max tokens | レスポンスで生成する token の最大数。空欄にすると指定を省略し、プロバイダーのデフォルト値を使用します。 | - | 任意の整数 |
| Completions (n) | 入力に対して生成する chat/completion の候補数。 | 1 | 任意の整数 |
| Seed | 可能な限り出力を再現可能にする固定 seed。空欄にするとランダムな結果になります。 | - | 任意の整数 |
| Stop sequences | API がそれ以降の token の生成を停止する sequence のコンマ区切りリスト。 | - | 任意のテキスト |
| Response format | JSON オブジェクトに設定すると、モデルが有効な JSON 出力を返すよう強制します(chat エンドポイントのみ)。 | なし | なし / JSON オブジェクト |
| Stream | 有効にすると、レスポンスが server-sent events としてストリーミングされます。無効にすると、完全なレスポンスを一度に受信します。 | オフ | オン / オフ |