Qwen 사용자를 위한 빠른 시작
기존 호환 클라이언트를 무검열 엔드포인트에 연결하세요. 기본 URL을 변경하고 키를 주입한 후 요청을 보내기 시작하세요.
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 라이브러리를 사용하세요. 이 라이브러리는 트래픽을 엔드포인트로 라우팅하기 위해 최소한의 구성만 필요합니다. 키와 올바른 기본 URL을 사용하여 클라이언트를 초기화하세요. 이 방법은 요청 로직을 다시 작성하지 않고 기존 코드베이스를 활용합니다.
응답을 생성할 때 모델 ID uncensored를 전달하세요. 라이브러리는 직렬화 및 역직렬화를 자동으로 처리합니다. 이 방법은 대부분의 백엔드 통합 및 스크립트 기반 워크플로우에 권장됩니다.
Node SDK 통합
JavaScript 또는 TypeScript 환경에서는 @anthropic-ai/sdk 또는 표준 OpenAI Node 패키지를 사용하세요. 기본 URL을 API에 가리키도록 구성하세요. 이렇게 하면 주요 리팩토링 없이 기존 Node 애플리케이션에 서비스를 삽입할 수 있습니다.
사용자 정의 기본 URL을 지원하는 최신 버전의 SDK를 사용하고 있는지 확인하세요. 무검열 모델을 선택하기 위해 모델 식별자 uncensored를 전달하세요. 이 설정은 Express 라우트 또는 서버리스 함수와 원활하게 작동합니다.
스트리밍 응답
요청에 stream: true을 설정하여 스트리밍을 활성화하세요. API는 모델이 텍스트를 생성할 때 서버 전송 이벤트(SSE)를 반환합니다. 이는 최종 사용자에게 낮은 지연 시간을 제공하고 출력의 실시간 표시를 허용합니다.
토큰 사용 통계는 스트림의 마지막 청크에 포함됩니다. 각 델타를 순차적으로 처리하여 전체 응답을 구성하세요. 이 기능은 즉각적인 피드백이 필요한 채팅 인터페이스 및 애플리케이션에 필수적입니다.
한도, 오류 및 컨텍스트
서비스 중단 방지를 위해 속도 제한을 준수하세요. API는 분당 300회 요청 및 키당 8회 동시 요청을 허용합니다. 최대 요청 본문 크기는 8 MB입니다. 이 한도를 초과하면 429 오류가 발생합니다.
인증 오류는 401을 반환하며, 이는 유효하지 않거나 누락된 키를 나타냅니다. 잔액 오류는 402를 반환하며, 이는 선불 크레딧이 고갈되었음을 의미합니다. 컨텍스트 창은 총 100,000개의 토큰을 지원하며, 요청당 최대 출력은 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는 분당 300회 요청 및 키당 8회 동시 요청의 제한을 적용합니다. 이 한도를 초과하면 API는 429 상태 코드를 반환합니다. 클라이언트에서 지수 백오프를 구현하여 재시도를 원활하게 처리하세요.
API는 함수 호출을 지원합니까?
네, API는 표준 도구 형식을 통해 함수 호출을 지원합니다. 구조화된 출력 또는 외부 도구 통합을 활성화하기 위해 요청에 도구 및 tool_choice를 지정할 수 있습니다. 이 기능은 표준 호환 스키마와 함께 작동합니다.
컨텍스트 창을 초과하면 어떻게 됩니까?
모델은 프롬프트와 완료를 모두 포함하여 총 100,000개의 토큰 컨텍스트 창을 지원합니다. 이 한도를 초과하면 요청이 실패합니다. 애플리케이션이 토큰 사용량을 추적하여 이러한 한도 내에 있도록 하세요.
키는 양식 하나만 작성하면 받을 수 있습니다
계정을 생성하고 키를 복사한 후 기본 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 | 모델 혼잡 — 몇 초 후 재시도 |