認証
APIキーを Authorization ヘッダーを Bearer トークンとして使用します。このキーは、[ APIキーを取得 ページ。新しいキーを生成すると、古いキーは即座に置き換えられます。無効なキーなどのエラーは 401 ステータス。二重請求などの誤りは、サポートページを通じて修正されます。
チャット完了エンドポイント
にJSONを投稿 POST /v1/chat/completions テキストレスポンスを取得します。これはテキスト生成の唯一のエンドポイントです。埋め込み、画像、音声はサポートされていません。
「 model フィールドは "uncensored". モデルは法的な成人向け用途に対して拒否なしで回答します。これは、制限のない出力向けに調整されたオープンウェイトモデルです。GPT、Claude、またはその他のベンダーのモデルではありません。
Models エンドポイント
呼び出し GET /v1/models 利用可能なモデルを一覧表示します。応答には uncensored モデルID。接続の確認やクライアント側の設定デバッグに使用してください。
エンドポイントは標準的な OpenAI 形式のメタデータを返します。これにより、重いペイロードを送信する前に、ベース URL と認証が正しく機能していることを確認できます。
Parameters & Options
温度、top_p、ストップシーケンス、シードなどの標準パラメータに対応します。 temperature, top_p, stop, seed, presence_penalty、および frequency_penalty. 設定 max_tokens 出力長を制御します。このフィールドを省略した場合、デフォルトは2,048トークンです。
プロンプトとコンプリーションの合計でコンテキストウィンドウは100,000トークンです。8 MBを超えるボディサイズのリクエストは失敗する場合があります。標準的なフィールドを介して関数呼び出しとJSONモードもサポートされています。
ストリーミングレスポンス
streamをtrueに設定してストリーミングを有効にする stream: trueトークンが生成されるたびにServer-Sent Events (SSE) を受信します。これにより、インタラクティブなアプリケーションでの知覚遅延が軽減されます。
トークン使用統計はストリームの最終チャンクに含まれます。これにより、リアルタイムで正確にコストを追跡できます。ストリーミング中のエラーでも、適切なHTTPステータスコードが返されます。
Function Calling & JSON Mode
使用 response_format と {"type": "json_object"} 厳密なJSON出力用。これはLLMからの構造化データの解析に役立ちます。関数呼び出しは標準的なツール定義と互換性があります。
設定 tool_choice モデルが関数をどのように使用するかを制御する。モデルは自動ツール使用と強制ツール使用の両方をサポートします。これにより、バックエンドロジックとの信頼性の高い統合が保証されます。
cURL
curl https://api.mistralaiapikey.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "what is the api limit for this service"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralaiapikey.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.mistralaiapikey.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)