JA ▾

openaiapiproxy.comOpenAI APIプロキシ:クライアントを3行で切り替え

OpenAI APIプロキシ: クライアントを3行で切り替え

環境変数を2つ変更するだけで、既存のOpenAIクライアントを当社の無検閲エンドポイントにドロップインできます。本ガイドではPython、Node、およびストリーミングリクエストの基本的なセットアップについて説明します。

uncensoredhttps://api.openaiapiproxy.com/v1

前提条件と設定

当社のopenai api proxyを利用するには、お使いの言語用の公式SDKと有効なAPIキーが必要です。ダッシュボードでサインアップすると、すぐにキーを受け取ることができます。トライアルにはクレジットカードは不要です。環境変数を2つ設定してください。OPENAI_API_KEYにあなたのキーを、OPENAI_BASE_URLに当社のエンドポイントを指定します。この方法により、既存のコードを変更せずに動作させることができ、アプリケーションに対して透過的なllm proxyとして機能します。

当社のサービスは標準のuncensoredモデルIDを使用しています。当社が単一モデルのプロキシであるため、複雑なルーティングロジックを管理する必要はありません。ベースURLはhttps://api.openaiapiproxy.com/v1です。設定が完了すると、クライアントは当社サービスを他のOpenAI互換エンドポイントと同じように扱います。

最初のリクエストとPythonセットアップ

まず、シンプルなチャット完了リクエストを送信します。これにより、認証と接続を確認できます。以下の例では、無検閲の動作を確認するために基本的なテキストプロンプトを使用しています。プレースホルダーの値を実際の資格情報に置き換えてください。

Python開発者向けには、公式のopenaiライブラリが複雑な処理を肩代わりします。クライアントを当社のベースURLにポイントするだけです。以下のコードは標準的な同期リクエストの例を示しています。これはプロンプトを送信し、モデルのレスポンスを返します。これは統合を確認する最速の方法です。

クライアントインスタンスを作成する前に、環境変数が読み込まれていることを確認してください。SDKはリクエストとレスポンスに標準的なOpenAI形式を自動的に使用します。

Node.js統合

Node.jsで構築する場合、プロセスはPythonと同じです。@ai-sdk/openaiまたは公式のopenainpmパッケージを使用してください。クライアントを当社のベースURLにポイントし、APIキーを提供してください。SDKがJSONシリアライゼーションとHTTPリクエストをあなたのために処理します。

このセットアップは、すべてのOpenAI互換クライアントライブラリで動作します。既存のプロンプトテンプレートとメッセージ構造を再利用できます。レスポンス形式は標準的なOpenAIスキーマに一致するため、必要に応じて後でプロバイダー間で簡単に切り替えることができます。

エラーを適切に処理することを忘れないでください。ネットワークの問題や無効なキーは標準的なHTTPエラーコードを返します。詳細なエラー処理については、特定のSDKバージョンのドキュメントを確認してください。

ストリーミングレスポンス

リアルタイムアプリケーションでは、ストリーミングを有効にしてトークンの生成と同時にトークンを受け取ります。これによりエンドユーザーの知覚されるレイテンシが削減されます。SDKはネイティブにServer-Sent Events (SSE)をサポートしています。レスポンスストリームを順に処理して、各トークンを処理します。

ストリーミングは、ユーザーが即時フィードバックを期待するチャットインターフェースに最適です。モデルはテキストを継続的に生成し、各トークンをUIに追加できます。これにより、完全なレスポンスを待つよりも、より滑らかなユーザーエクスペリエンスが提供されます。

ストリーミングエンドポイントは同じベースURLと認証を使用します。リクエストパラメータでstreamフラグを有効にするだけです。SDKが接続のライフサイクルとエラーリカバリを処理します。

レート制限と制約

当社のAPIは信頼性を確保するために厳格な制限を適用しています。APIキーごとに1分あたり300件のリクエストが許可されます。最大リクエストボディサイズは8 MBです。レート制限を超えた場合、429ステータスコードが返されます。これらのエラーを適切に処理するために、クライアントで指数バックオフを実装してください。

認証エラーは、キーが無効または取り消された場合に401ステータスを返します。支払い関連の問題は、前払いクレジットが尽きた場合に402ステータスを返します。USDTまたはUSDCによる暗号通貨でのチャージは即座に利用可能です。前払いクレジットは期限切れにならないため、使い切りで支払うことができます。

コンテキストウィンドウは、入力と出力を合わせて100,000トークンです。切り捨てを避けるためにプロンプトを適切に計画してください。モデルは制限に達すると生成を停止します。

モデルとコンテンツポリシー

利用可能な唯一のモデルはuncensoredで、法的な成人向けコンテンツおよびクリエイティブライティング向けに最適化されたオープンウェイトモデルです。このモデルは、デフォルトで論争の的となるトピックや露骨なトピックを拒否しません。これは、標準的なモデルが制限が強すぎる可能性があるユースケースに理想的です。

エンベディング、画像生成、音声処理は提供していません。これはテキストのみのAPIです。モデルはGPT、Claude、またはその他のベンダーのモデルではありません。当社のインフラストラクチャに特化してチューニングされています。

未成年者を含む性的コンテンツは常にブロックされます。その他の法的なコンテンツは許可されます。プロンプトはトレーニングに使用しません。データはプライベートであり、リクエストのレスポンスを生成するためにのみ使用されます。

cURL

curl https://api.openaiapiproxy.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
  }'

Python

from openai import OpenAI

client = OpenAI(base_url="https://api.openaiapiproxy.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

Node.js

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.openaiapiproxy.com/v1", apiKey: process.env.API_KEY });

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);

ストリーミング

stream = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Tell the story in second person."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

API 仕様

購入前に確認できるよう、API の実際の制限と機能をすべてまとめました。

項目内容
形式OpenAI 互換:どの OpenAI SDK でも base URL とキーを変えるだけで動作
Base URLhttps://api.openaiapiproxy.com/v1
認証Authorization: Bearer YOUR_KEY
エンドポイントPOST /v1/chat/completions · GET /v1/models
モデル IDuncensored
関数呼び出し対応 — tools、tool_choice。応答に tool_calls(ストリーミングでも)、結果は role: tool で返送
パラメータtemperature、top_p、stop、seed、presence_penalty、frequency_penalty
ストリーミング対応 — SSE、最後のチャンクにトークン使用量
コンテキスト長64,000 トークン(入力+出力)
最大出力64,000 トークンのウィンドウの残りまで。max_tokens は任意(個別の上限なし)
JSON モードresponse_format: {"type": "json_object"}
レート制限キーごとに毎分 300 リクエスト
レスポンスヘッダーX-Request-Id、X-Balance-USD、X-RateLimit-Limit-Requests、X-RateLimit-Limit-Concurrency
リクエストサイズ最大 8 MB
同時実行キーごとに同時 8 リクエストまで
ボーナス$50 以上で +5%、$100 以上で +10%
無料トライアル$0.50、7 日間、カード不要 · トライアルキー: 同時2件、毎分60件。初回チャージ後に上限が8件・300件へ拡大
課金前払いクレジットから実使用量で課金。エラーと拒否は無料
チャージUSDT(TRC20)または USDC(Base)、$10〜$500 の任意の整数額
料金入力 100 万トークン $0.25 · 出力 100 万トークン $1.00
有効期限購入クレジットは失効なし、サブスクなし
ログインGoogle またはメール+パスワード
コンテンツ成人向けコンテンツ可。未成年者を含む性的コンテンツは拒否
キーアカウントごとに有効なキーは 1 つ。新しいキーで旧キーは無効

エラーコード

エラーは固定の type を持つ JSON で返ります。失敗・拒否されたリクエストは課金されません。

コードタイプ意味
400bad_requestJSON 不正、メッセージ空、パラメータ誤り、またはコンテキスト超過
401missing_key · invalid_key · key_revokedキーなし・誤り・新しいキーに置換済み
402no_credit残高ゼロ — チャージすれば即再開
403content_blocked未成年者を含む性的コンテンツ — 拒否、課金なし
404not_found不明なエンドポイント
413request_too_large本文が 8 MB 超
429rate_limited · concurrency毎分 300 回または同時 8 件を超過 — 待って再試行
503upstream_busyモデル混雑 — 数秒後に再試行

質問と回答

このAPIを使用するためにコードを変更する必要がありますか?

いいえ。標準的なOpenAI SDKを使用している場合、ベースURLとAPIキーの環境変数を更新するだけです。リクエストとレスポンスの形式は同一です。

クレジットが尽きた場合どうなりますか?

リクエストは402ステータスコードを返します。暗号通貨(USDTまたはUSDC)を使用してアカウントに即座にチャージできます。既存の前払いクレジットは期限切れになりません。

無検閲モデルはGPT-4と同じですか?

いいえ。これは当社のGPUサーバーで実行されるオープンウェイトモデルです。コンテンツ拒否が少なくなるようにチューニングされていますが、GPTやClaudeとは異なるアーキテクチャと学習データを持っています。

キーはフォーム 1 つで手に入ります

アカウントを作成し、キーをコピーし、ベースURLを変更します。これだけです。

API キーを取得