前提条件
apertus API を利用するには、アカウントと API キーが必要です。API キーの取得ページで Google またはメールアドレスでサインアップしてください。キーは即座に発行され、電話番号は不要です。まずは試したい場合は、新しいアカウントごとに 7 日間有効な $0.50 のトライアルクレジットが付与されます。トライアルにはカードは不要です。本番環境では、暗号通貨(TRC20 上の USDT または Base 上の USDC)でチャージしてください。クレジットは期限切れにならず、エラーでも残高は消費されません。アカウントごとにアクティブなキーは 1 つまでです。新しいキーを生成すると古いキーは置き換えられます。キーは安全に保管し、Authorization ヘッダーにベアートークンとして渡してください。API はテキストベースのみで、コンテンツ拒否なしで回答するよう最適化された無検閲モデルを提供します。
ベースURLと認証
すべてのリクエストをhttps://api.apertus.cc/v1に送信してください。このベースURLは、エンドポイントを変更するだけで、公式のOpenAI SDKや互換クライアントと連携します。ヘッダーにAPIキーを含めてください:Authorization: Bearer YOUR_API_KEY。サポートされているエンドポイントはPOST /v1/chat/completionsのみです。接続を確認するためのGET /v1/modelsエンドポイントも利用可能です。使用するモデルIDはuncensoredです。これはGPT、Claude、または他のベンダーとは異なる、当社のサーバー上で動作するオープンウェイトモデルです。テキスト入力を受け取り、テキスト出力を返します。埋め込み、画像、音声は期待しないでください。このAPIは、モデルルーティングの複雑さなしでシンプルな統合を望む開発者向けに設計されています。
最初のリクエスト
セットアップを確認するために基本的な完了リクエストを送信します。curlコマンドを使用して、チャット完了エンドポイントにPOSTしてください。モデルをuncensoredに設定し、簡単なメッセージを含めます。これにより、APIキーが機能し、ベースURLが正しいことを確認できます。必要に応じてtemperatureやmax_tokensなどのパラメータを調整できます。レスポンスにはモデルのテキスト出力が含まれます。401エラーが返された場合はキーを確認してください。402エラーはクレジット不足を示します。429エラーはレート制限に達したことを意味します。このシンプルなリクエストは、ミドルウェアなしの生APIアクセスを示しています。これは、より複雑なロジックを構築する前に統合を検証する最速の方法です。
Python統合
APIと対話するには、公式のopenai Python SDKを使用してください。ベースURLhttps://api.apertus.cc/v1とAPIキーでクライアントを初期化します。モデルをuncensoredに設定します。メッセージは辞書のリストとして送信します。SDKはシリアライゼーションとエラー解析を自動的に処理します。このアプローチは、バックエンドサービスやデータ処理スクリプトに最適です。レスポンスをストリーミングするか、完全なブロックを取得できます。クライアントコードは、異なるベースURLを使用する以外はOpenAIで使用するものと同じです。これにより、他のプロバイダーからの移行時の摩擦を軽減できます。最高の互換性のために最新のSDKバージョンを使用してください。統合は最小限で、既存のクライアントセットアップの設定変更のみが必要です。
Node.js統合
JavaScriptまたはTypeScript環境では、openai npmパッケージを使用してください。Pythonの場合と同じベースURLとキーでクライアントを設定します。chat.completions.create()をuncensoredモデルで呼び出します。標準形式でメッセージを渡します。これはサーバーレス関数やNode.jsバックエンドに適しています。SDKはHTTPリクエストとレスポンス解析を管理します。レスポンスステータスを確認することで、エラーを適切に処理できます。コードは異なるOpenAI互換サービス間でポータブルです。これにより、必要に応じてプロバイダーを簡単に切り替えることができます。Node.js統合は同期と非同期の両方のパターンをサポートしています。無検閲テキスト生成を必要とするAPI、ボット、または自動化されたワークフローの構築に使用してください。
ストリーミングレスポンス
リクエストでstream: trueを設定してストリーミングを有効にします。APIは生成されるたびにテキストチャンクを返します。これにより、長いレスポンスの知覚レイテンシが改善されます。各チャンクには完了の一部が含まれています。最終的なチャンクにはトークン使用統計が含まれます。ストリーミングはServer-Sent Events (SSE)経由でサポートされます。SDKのストリーミングヘルパーを使用してチャンクを効率的に処理してください。これはチャットインターフェースやリアルタイムアプリケーションに役立ちます。ストリーミングは非ストリーミングと同じトークンを消費することに注意してください。ストリーミング中にエラーが発生する可能性があるため、中断を処理してください。無検閲モデルはデフォルトでストリーミングをサポートしています。この機能により、テキストを段階的に表示できます。これは現代のLLM APIの標準機能です。クライアントコードが部分的なレスポンスを正しく処理することを確認してください。
制限、エラー、コンテキスト
コンテキストウィンドウは合計100,000トークンで、プロンプトとcompletionを含みます。1つのリクエストあたりの最大出力は32,000トークン、またはmax_tokensが未設定の場合は2,048トークンです。レート制限は1分あたり300リクエスト、キーあたり8つの同時リクエストです。リクエストボディは8 MB未満である必要があります。一般的なエラーには、無効なAPIキーによる401、クレジット不足による402、レート制限による429が含まれます。モデルは未成年者を含む性的なコンテンツを拒否します。他の合法的な大人向け、フィクション、または論争的なトピックは拒否しません。価格は透明です:入力トークン1Mあたり$0.25、出力トークン1Mあたり$1.00です。エラーは無料です。クレジットは前払いで、期限切れになりません。これらの制限を使用して、アプリケーションのスケールを計画してください。このAPIは、大量かつコスト効率の高いテキスト生成のために設計されています。
cURL
curl https://api.apertus.cc/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.apertus.cc/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.apertus.cc/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)