빠른 시작: 첫 번째 요청
클라이언트를 기본 URL로 가리키세요. 다음을 사용하세요 https://api.grockapi.com/v1 헤더에 API 키를 설정하세요. 모델 식별자는 항상 다음입니다. uncensored이것은 모든 OpenAI-compatible SDK와 함께 작동합니다.
인증은 유효한 Bearer 토큰이 필요합니다. 다음으로 전달하세요 Authorization: Bearer YOUR_API_KEY. 키가 누락되었거나 유효하지 않으면 즉시 401 오류가 발생합니다.
연결성을 테스트하기 위한 첫 번째 호출을 수행하세요. 요청 본문에는 모델 이름과 messages 배열이 포함되어야 합니다.
지원되는 파라미터 및 모드
표준 매개변수를 사용하여 생성 동작을 구성하세요. 창의성을 위해 temperature를 조정하거나 nucleus sampling을 위해 top_p를 사용할 수 있습니다. stop 매개변수를 사용하여 생성을 중단할 특정 시퀀스를 정의하세요.
디버깅 중 결정론적 출력을 위해 seed를 설정합니다. Presence 및 frequency penalty는 반복을 줄이는 데 도움이 됩니다. 모델은 컨텍스트 창에서 최대 100,000개의 토큰을 지원합니다.
최대 출력은 요청당 16,000 토큰으로 제한됩니다. max_tokens을 설정하지 않으면 기본 2,048 출력 제한이 적용됩니다. 오류 및 거부 요청은 크레딧을 소모하지 않습니다.
스트리밍 및 토큰 사용량
stream을 true로 설정하여 스트리밍 활성화 stream: true. API는 Server-Sent Events(SSE)를 통해 청크를 반환합니다. 각 청크에는 부분 콘텐츠와 메타데이터가 포함됩니다.
토큰 사용량 세부 정보는 마지막 청크에 표시됩니다. 이를 통해 실시간으로 비용을 정확하게 추적할 수 있습니다. 마지막 청크에는 요청에 대한 전체 사용량 통계가 포함됩니다.
자원 누수를 피하려면 스트림 종료를 적절히 처리하세요. 정확한 청구 데이터를 얻으려면 마지막 청크를 반드시 처리하세요.
함수 호출 (도구)
요청 본문에 도구를 정의하세요. 도구 이름, 설명, 매개변수 스키마를 지정하세요. 모델은 적절한 경우 도구 호출을 응답합니다.
tool_choice 매개변수를 사용하여 특정 동작을 강제하거나 허용하세요. auto, required 또는 특정 도구 ID로 설정할 수 있습니다.
애플리케이션 로직에서 도구 호출을 처리합니다. 도구 출력을 모델에 다시 보내어 대화의 연속성을 유지합니다. 이를 통해 외부 파싱 없이 복잡한 다단계 워크플로우가 가능합니다.
JSON 모드 및 제약 조건
response_format을 설정하여 구조화된 출력 강제 json_object. 모델이 마크다운 코드 블록 없이 유효한 JSON을 반환합니다.
이 모드는 애플리케이션으로 데이터를 구문 분석하는 데 이상적입니다. 정확도를 높이기 위해 스키마를 명확하게 유지하십시오. 잘못된 JSON 구조는 클라이언트에서 구문 분석 오류를 유발할 수 있습니다.
일관된 형식을 위해 온도 조절과 함께 JSON 모드를 결합하세요. 닫는 중호리 뒤에 후행 문자가 생성되는 것을 방지하기 위해 중지 시퀀스를 사용하세요.
속도 제한 및 할당량
각 API 키는 분당 300회 요청으로 제한됩니다. 동시에 최대 8개의 동시 요청을 처리할 수 있습니다. 최대 요청 본문 크기는 8MB입니다.
429 오류는 속도 제한을 초과했음을 나타냅니다. 다시 시도하기 전에 기다리거나 동시성을 줄이세요. 계정당 활성 키는 하나만 존재하며, 새 키를 생성하면 기존 키가 대체됩니다.
최종 스트리밍 청크 또는 응답 헤드를 통해 사용량을 모니터링하세요. 402(크레딧 없음) 또는 401(잘못된 키)와 같은 오류는 무료이며 할당량에 포함되지 않습니다.
cURL
curl https://api.grockapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "calculate the sum of two and three"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.grockapi.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.grockapi.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)