베이스 URL 및 인증
API 키 발급 페이지에서 계정을 생성하세요. 이메일과 비밀번호만 있으면 되며, 무료 체험 크레딧 활성화에 전화번호나 신용카드가 필요하지 않습니다. 등록하면 API 키가 즉시 표시됩니다. 이 키를 복사하여 안전하게 저장하세요. 모든 요청에 Authorization 헤더의 Bearer 토큰으로 사용하세요. 모든 엔드포인트의 베이스 URL은 https://api.gemma4api.com/v1입니다. 이 URL은 모든 표준 OpenAI 호환 클라이언트와 호환되며, 구성의 베이스 URL과 API 키를 변경하여 공급자만 전환하면 됩니다.
첫 번째 요청
curl을 사용하여 첫 번째 프롬프트를 보내 연결성을 확인하세요. YOUR_API_KEY을 실제 키로 바꿉니다. 모델 식별자는 uncensored입니다. 이 간단한 텍스트 입력-출력 요청은 인증이 올바르고 모델이 응답함을 확인합니다. choices 배열이 있는 JSON 응답을 받으면 설정이 완료된 것입니다. 이제 더 복잡한 워크플로우를 위해 SDK를 통합할 수 있습니다.
curl https://api.gemma4api.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 SDK 통합
공식 OpenAI Python 패키지를 설치하세요. 베이스 URL과 API 키 환경 변수를 설정하거나 클라이언트 생성자에 직접 전달하세요. 모델 ID uncensored을 사용하여 특정 인스턴스를 호출하고 있음을 확인하세요. 이 방법은 표준 OpenAI 패턴과 호환되도록 코드를 유지하면서 콘텐츠 생성을 위해 무검열 모델을 활용합니다. SDK는 재시도 및 JSON 파싱을 자동으로 처리합니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.gemma4api.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 SDK 통합
JavaScript 환경에서는 OpenAI Node.js 패키지를 설치하세요. 베이스 URL https://api.gemma4api.com/v1과 API 키로 클라이언트를 구성하세요. 완료 호출에 모델 ID uncensored을 사용하세요. 이 설정은 표준 OpenAI 호환 코드 구조를 유지하면서 서버에서 호스팅된 특정 모델의 이점을 누릴 수 있게 합니다. Node.js 이벤트 루프 내에서 비동기 응답을 올바르게 처리하세요.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.gemma4api.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);
스트리밍 응답
API 요청에서 stream 매개변수를 true로 설정하여 스트리밍을 활성화하세요. 이는 서버 전송 이벤트(SSE) 스트림을 반환하여 생성되는 토큰을 표시할 수 있게 합니다. 이는 지연 시간이 중요한 채팅 인터페이스에 이상적입니다. 각 청크에는 응답의 부분 델타가 포함됩니다. 생성이 완료되었음을 알기 위해 스트림 종료 이벤트를 처리하세요. 이 방법은 전체 응답을 기다리는 것보다 인지된 지연 시간을 크게 줄입니다.
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)
제한, 오류 및 컨텍스트 창
요청에는 프롬프트와 완성 텍스트를 합산한 컨텍스트 창 100,000 토큰이 지원됩니다. 속도 제한은 키당 분당 300 요청이며, 최대 요청 본문 크기는 8 MB입니다. 일반적인 오류로는 잘못된 키의 경우 401, 선불 크레딧이 고갈된 경우 402, 분당 제한을 초과한 경우 429이 있습니다. API 키를 재생성하면 이전 키가 무효화되지만 속도 카운터는 초기화되지 않습니다. 클라이언트가 이러한 HTTP 상태 코드를 적절히 처리하여 원활한 운영을 유지하도록 하세요.
기술 사양
크레딧을 구매하기 전에 확인할 수 있도록 API의 실제 한도와 기능을 한곳에 정리했습니다.
| 항목 | 내용 |
|---|---|
| 형식 | OpenAI 호환: 어떤 OpenAI SDK든 base URL과 키만 바꾸면 동작 |
| 인증 | Authorization: Bearer YOUR_KEY |
| 엔드포인트 | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.gemma4api.com/v1 |
| 모델 ID | uncensored |
| 컨텍스트 창 | 100,000 토큰 (입력 + 출력) |
| 스트리밍 | 지원 — SSE, 마지막 청크에 토큰 사용량 포함 |
| 함수 호출 | 지원 — tools, tool_choice; 응답에 tool_calls (스트리밍 포함), 결과는 role: tool로 전송 |
| 최대 출력 | 100,000 토큰 윈도우의 남은 만큼; max_tokens는 선택 사항(별도 상한 없음) |
| JSON 모드 | response_format: {"type": "json_object"} |
| 파라미터 | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 속도 제한 | 키당 분당 300회 |
| 요청 크기 | 최대 8 MB |
| 응답 헤더 | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| 동시 요청 | 키당 동시 8개 |
| 가격 | 입력 100만 토큰당 $0.25 · 출력 100만 토큰당 $1.00 |
| 유효기간 | 유료 크레딧은 만료되지 않으며 구독 없음 |
| 충전 | USDT (TRC20) 또는 USDC (Base), $10~$500 사이 원하는 정수 금액 |
| 무료 체험 | $0.50, 7일, 카드 불필요 · 체험 키: 동시 요청 2건, 분당 60건. 첫 충전 후 전체 한도(8건, 300건) 적용 |
| 보너스 | $50 이상 +5%, $100 이상 +10% |
| 과금 | 선불 크레딧에서 실제 사용량만큼 차감, 오류·거부는 무료 |
| 로그인 | 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 | 모델 혼잡 — 몇 초 후 재시도 |
질문과 답변
API 키를 재생성하면 속도 제한 카운터가 초기화되나요?
아니요. 키를 재생성하면 이전 키가 무효화되고 새로운 자격 증명이 발급되지만, 속도 제한은 계정별로 적용되며 키 변경과 관계없이 유지됩니다. 분당 300 요청 제한에 도달하면 1분 단위 시간 간격이 초기화될 때까지 기다려야 합니다.
'무검열' ID 뒤에 어떤 모델이 실행 중인가요?
자체 GPU 서버에서 호스팅되는 오픈 웨이트 대규모 언어 모델입니다. GPT, Claude, Gemini 또는 기타 벤더의 모델이 아닙니다. 합법적인 성인 용도로 콘텐츠 거부 없이 답변하도록 조정되었습니다.
이 API를 함수 호출에 사용할 수 있나요?
네. <code>/v1/chat/completions</code> 엔드포인트는 도구 및 함수 호출을 지원합니다. 요청에 도구 정의를 전달하면 모델은 표준 OpenAI SDK 구현과 호환되는 구조화된 JSON 출력을 반환합니다.
키는 양식 하나만 작성하면 받을 수 있습니다
계정을 생성하고 키를 복사한 후 베이스 URL을 변경하세요. 설정이 이것뿐입니다.