Qwen ユーザー向けクイックスタート
既存の OpenAI 互換クライアントを当社の無検閲エンドポイントに接続します。ベース URL を変更し、API キーを挿入してリクエストの送信を開始します。
uncensoredhttps://api.qwenapi.cc/v1
認証とベース URL
当社の API は標準の Bearer トークン認証を使用します。Google またはメール経由でサインアップすると、すぐにキーを受け取ります。このキーは安全に保管してください。キーは前払いクレジットへのアクセスを提供します。すべてのリクエストのベース URL は https://api.qwenapi.cc/v1 です。デフォルトの OpenAI URL ではなく、このエンドポイントを指すようにクライアント設定を更新してください。
認証は、すべてのリクエストに Authorization ヘッダーを渡すことで処理されます。API キーがない場合、モデルはアカウント残高を確認できず、401 エラーが発生します。隠れたヘッダーやカスタム認証スキームは必要ありません。
最初のリクエスト
接続性をテストするために標準のチャット完了リクエストを送信します。YOUR_API_KEY を実際のキーに置き換えます。エンドポイントは model、messages、content フィールドを含む標準の JSON ペイロードを受け入れます。
- モデル識別子:
uncensored - エンドポイント:
POST /v1/chat/completions - フォーマット: JSON
このリクエストは、残高から入力トークンを消費します。接続が正常に動作していることを確認するために、クライアントが JSON レスポンスを正しく処理することを確認してください。
Python SDK 統合
公式の OpenAI Python ライブラリを使用します。エンドポイントへのトラフィックルーティングには最小限の設定しか必要ありません。API キーと正しいベース URL を使用してクライアントを初期化します。このアプローチは、リクエストロジックを書き換えることなく既存のコードベースを活用します。
レスポンスの作成時にモデル ID uncensored を渡します。ライブラリはシリアライズとデシリアライズを自動的に処理します。この方法は、ほとんどのバックエンド統合やスクリプトベースのワークフローに推奨されます。
Node SDK 統合
JavaScript または TypeScript 環境では、@anthropic-ai/sdk または標準の OpenAI Node パッケージを使用します。ベース URL を当社の API を指すように構成します。これにより、大規模なリファクタリングなしに既存の Node アプリケーションに当社のサービスをそのまま置き換えることができます。
カスタムベース URL をサポートする SDK の最新バージョンを使用していることを確認してください。当社の無検閲モデルを選択するためにモデル識別子 uncensored を渡します。このセットアップは、Express ルートやサーバーレス関数とシームレスに動作します。
ストリーミングレスポンス
リクエストで stream: true を設定してストリーミングを有効にします。API はテキストの生成中に Server-Sent Events (SSE) を返します。これにより、エンドユーザーのレイテンシが低減し、出力のリアルタイム表示が可能になります。
トークン使用統計はストリームの最終チャンクに含まれます。各デルタを逐次処理して完全なレスポンスを構築します。この機能は、チャットインターフェースや即時フィードバックを必要とするアプリケーションに不可欠です。
制限、エラー、コンテキスト
サービスの中断を避けるためにレート制限を尊重してください。API は 1 分あたり 300 リクエスト、キーあたり 8 同時リクエストを許可します。最大リクエストボディサイズは 8 MB です。これらの制限を超えると、429 エラーが発生します。
認証エラーは 401 を返し、無効または欠落したキーを示します。残高エラーは 402 を返し、前払いクレジットが枯渇したことを意味します。コンテキストウィンドウは合計 100,000 トークンをサポートし、1 回のリクエストあたりの最大出力は 32,000 トークンです。エラーと拒否はクレジットを消費しません。
cURL
curl https://api.qwenapi.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.qwenapi.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.qwenapi.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)質問と回答
レート制限はどのように処理しますか?
API は 1 分あたり 300 リクエスト、キーあたり 8 同時リクエストの制限を適用します。これらの制限を超えると、API は 429 ステータスコードを返します。クライアントで指数バックオフを実装し、リトライを適切に処理してください。
API は関数呼び出しをサポートしていますか?
はい、API は標準の tools フォーマットを介して関数呼び出しをサポートしています。構造化された出力や外部ツールとの統合を有効にするために、リクエストで tools と tool_choice を指定できます。この機能は標準の OpenAI 互換スキーマで動作します。
コンテキストウィンドウの制限を超えた場合はどうなりますか?
このモデルは、プロンプトと生成結果を合わせて最大100,000トークンのコンテキストウィンドウをサポートします。この制限を超えるとリクエストは失敗します。アプリケーションがトークン使用量を管理し、これらの範囲内に収まるようにしてください。
キーはフォーム 1 つで手に入ります
アカウントを作成し、キーをコピーし、ベース URL を変更します。それだけです。
API 仕様
購入前に確認できるよう、API の実際の制限と機能をすべてまとめました。
| 項目 | 内容 |
|---|---|
| 形式 | OpenAI 互換:どの OpenAI SDK でも base URL とキーを変えるだけで動作 |
| モデル ID | uncensored |
| Base URL | https://api.qwenapi.cc/v1 |
| エンドポイント | POST /v1/chat/completions · GET /v1/models |
| 認証 | Authorization: Bearer YOUR_KEY |
| 最大出力 | 100,000 トークンのウィンドウの残りまで。max_tokens は任意(個別の上限なし) |
| 関数呼び出し | 対応 — tools、tool_choice。応答に tool_calls(ストリーミングでも)、結果は role: tool で返送 |
| ストリーミング | 対応 — SSE、最後のチャンクにトークン使用量 |
| コンテキスト長 | 100,000 トークン(入力+出力) |
| パラメータ | temperature、top_p、stop、seed、presence_penalty、frequency_penalty |
| JSON モード | response_format: {"type": "json_object"} |
| 同時実行 | キーごとに同時 8 リクエストまで |
| レスポンスヘッダー | X-Request-Id、X-Balance-USD、X-RateLimit-Limit-Requests、X-RateLimit-Limit-Concurrency |
| レート制限 | キーごとに毎分 300 リクエスト |
| リクエストサイズ | 最大 8 MB |
| 無料トライアル | $0.50、7 日間、カード不要 · トライアルキー: 同時2件、毎分60件。初回チャージ後に上限が8件・300件へ拡大 |
| 課金 | 前払いクレジットから実使用量で課金。エラーと拒否は無料 |
| 料金 | 入力 100 万トークン $0.25 · 出力 100 万トークン $1.00 |
| ボーナス | $50 以上で +5%、$100 以上で +10% |
| 有効期限 | 購入クレジットは失効なし、サブスクなし |
| チャージ | USDT(TRC20)または USDC(Base)、$10〜$500 の任意の整数額 |
| コンテンツ | 成人向けコンテンツ可。未成年者を含む性的コンテンツは拒否 |
| ログイン | Google またはメール+パスワード |
| キー | アカウントごとに有効なキーは 1 つ。新しいキーで旧キーは無効 |
エラーコード
エラーは固定の type を持つ JSON で返ります。失敗・拒否されたリクエストは課金されません。
| コード | タイプ | 意味 |
|---|---|---|
400 | bad_request | JSON 不正、メッセージ空、パラメータ誤り、またはコンテキスト超過 |
401 | missing_key · invalid_key · key_revoked | キーなし・誤り・新しいキーに置換済み |
402 | no_credit | 残高ゼロ — チャージすれば即再開 |
403 | content_blocked | 未成年者を含む性的コンテンツ — 拒否、課金なし |
404 | not_found | 不明なエンドポイント |
413 | request_too_large | 本文が 8 MB 超 |
429 | rate_limited · concurrency | 毎分 300 回または同時 8 件を超過 — 待って再試行 |
503 | upstream_busy | モデル混雑 — 数秒後に再試行 |