Ollama API: 세 줄로 클라이언트 전환
몇 분 안에 무검열, OpenAI 호환 채팅 API를 시작하세요. 컨텍스트 창이 100k인 단일 모델로 클라이언트 구성을 전환하고 즉시 콘텐츠 생성을 시작하세요.
- 기본 URL
https://api.ollamaapi.com/v1- 모델
uncensored
사전 준비 및 기본 URL
이 무검열 LLM API를 사용하려면 API 키가 있는 계정과 환경에 설치된 OpenAI 호환 SDK가 필요합니다. 모든 요청의 기본 URL은 https://api.ollamaapi.com/v1입니다. 이 엔드포인트는 기존 OpenAI 클라이언트의 대체재로 설계되었으므로 구성에서 기본 URL과 API 키만 업데이트하면 됩니다. 이 API는 서버 전송 이벤트(SSE)를 통한 스트리밍과 함수 호출을 지원하는 텍스트 입력-텍스트 출력 완성을 지원합니다. 임베딩, 이미지 생성 또는 파인튜닝은 지원하지 않습니다. 최적의 경험을 위해 SDK 버전이 이러한 기능을 지원하는지 확인하세요. 모든 완성에 uncensored 모델 ID를 사용합니다.
인증 및 첫 번째 요청
인증은 Authorization 헤더의 Bearer 토큰으로 처리됩니다. 사이트에서 가입하면 즉시 키를 받을 수 있으며, 체험용에는 신용카드가 필요하지 않습니다. 다음 cURL 명령을 사용하여 첫 번째 메시지를 전송하세요. YOUR_API_KEY을 실제 키로 바꿉니다. 요청은 표준 채팅 완성 엔드포인트를 대상으로 합니다. 성공하면 무검열 모델에서 텍스트 응답을 받게 됩니다. model 필드를 uncensored로 설정하여 GPU 서버에 호스팅된 특정 대형 언어 모델을 활용하세요.
curl https://api.ollamaapi.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."}]
}'
프롬프트는 학습 데이터로 사용되지 않습니다. API는 미성년자가 포함된 성 콘텐츠에 대해 엄격한 제한을 적용하지만, 그 외에는 합법적인 성인 콘텐츠와 논쟁적인 주제에 대해 거부 없이 허용합니다.
Python SDK 통합
공식 OpenAI Python SDK를 사용하는 것이 통합을 위한 가장 간단한 방법입니다. pip를 통해 라이브러리를 설치한 후, 커스텀 베이스 URL과 API 키를 사용하여 클라이언트를 초기화하세요. 이 설정을 통해 GPT-4에 사용할 수 있는 클라이언트 코드를 무검열 모델에 적용할 수 있습니다. 아래 코드는 간단한 채팅 완료 요청을 보여줍니다. 필요에 따라 max_tokens 및 temperature 매개변수를 조정할 수 있습니다. 응답 객체에는 생성된 텍스트가 response.choices[0].message.content에 포함됩니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.ollamaapi.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)
이 접근 방식은 우리 API가 완전히 OpenAI 호환이기 때문에 작동합니다. 우리 서비스에 전용 클라이언트 라이브러리가 필요하지 않습니다.
Node.js SDK 설정
JavaScript 또는 TypeScript 프로젝트의 경우 OpenAI Node SDK는 엔드포인트와 원활하게 작동합니다. 패키지를 설치하고 baseURL이 도메인을 가리키도록 클라이언트를 구성하세요. apiKey 필드에 API 키를 전달하세요. 요청 구조는 OpenAI 형식과 정확히 일치합니다. 이를 통해 기존 Node.js 애플리케이션에 우리 API를 큰 리팩토링 없이 삽입할 수 있습니다. 모델 ID는 uncensored로 유지됩니다. 필요시 대시보드를 통해 API 키를 관리하고 재생성할 수 있습니다.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.ollamaapi.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 키는 가입 직후 표시됩니다.
스트리밍 응답
실시간 토큰 생성이 필요한 애플리케이션의 경우 API는 서버 전송 이벤트(SSE)를 지원합니다. 요청 시 stream 매개변수를 true로 설정하세요. 서버는 응답의 부분적인 델타를 각각 포함하는 일련의 청크를 전송합니다. 이는 텍스트가 생성되는 대로 표시하고 싶은 채팅 인터페이스에 이상적입니다. 스트리밍 동작은 OpenAI 스트리밍 API와 동일하므로 기존 스트리밍 로직은 최소한의 변경으로 작동해야 합니다. 응답이 완료되었음을 나타내는 마지막 청크가 올 때까지 스트림을 처리하세요.
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는 프롬프트와 완료를 합친 100,000 토큰 컨텍스트 창을 제공합니다. 긴 문서 처리나 대화에 적합합니다. 키당 분당 300개 요청으로 속도 제한이 설정됩니다. 초과 시 429 오류가 발생합니다. 인증 오류는 401 상태 코드로, 키가 잘못되었거나 취소되었기 때문입니다. 잔액 부족 시 402 오류가 발생합니다. 요청 본문은 8 MB로 제한됩니다. 구독은 없으며 선불 크레디로 사용한 만큼 지불합니다. 크레딧은 만료되지 않습니다. 최소 $20부터 충전할 수 있습니다. 크레딧은 만료되지 않으므로 잔액 손실 없이 무기한 사용 중지가 가능합니다.
질문과 답변
이 API는 이미지 또는 오디오 생성을 지원합니까?
아니요, 이 API는 텍스트 완성 전용입니다. 임베딩, 이미지 생성, 오디오, 비디오를 지원하지 않습니다. 텍스트-텍스트 상호작용을 위한 단일 무검열 대형 언어 모델에 중점을 둡니다.
가격 책정 방식은 어떻게 되나요?
가격은 선불 크레딧 기반의 종량제이며, 크레딧은 만료되지 않습니다. 입력 토큰은 100만 토큰당 $0.15, 출력 토큰은 100만 토큰당 $0.50입니다. 암호화폐(USDT 또는 USDC)로 충전할 수 있으며, 큰 금액을 입금할 경우 보너스 크레딧을 받을 수 있습니다.
내 데이터가 학습에 사용되나요?
아니요, API로 전송된 프롬프트는 학습에 사용되지 않습니다. 이 서비스는 프라이버시를 위해 설계되었으며 계정 생성에는 이메일과 비밀번호만 필요합니다.
기술 사양
크레딧을 구매하기 전에 확인할 수 있도록 API의 실제 한도와 기능을 한곳에 정리했습니다.
| 항목 | 내용 |
|---|---|
| 형식 | OpenAI 호환: 어떤 OpenAI SDK든 base URL과 키만 바꾸면 동작 |
| 인증 | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.ollamaapi.com/v1 |
| 엔드포인트 | POST /v1/chat/completions · GET /v1/models |
| 모델 ID | uncensored |
| 파라미터 | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 컨텍스트 창 | 100,000 토큰 (입력 + 출력) |
| 스트리밍 | 지원 — SSE, 마지막 청크에 토큰 사용량 포함 |
| 최대 출력 | 100,000 토큰 윈도우의 남은 만큼; max_tokens는 선택 사항(별도 상한 없음) |
| JSON 모드 | response_format: {"type": "json_object"} |
| 함수 호출 | 지원 — tools, tool_choice; 응답에 tool_calls (스트리밍 포함), 결과는 role: tool로 전송 |
| 속도 제한 | 키당 분당 300회 |
| 요청 크기 | 최대 8 MB |
| 응답 헤더 | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| 동시 요청 | 키당 동시 8개 |
| 무료 체험 | $0.50, 7일, 카드 불필요 · 체험 키: 동시 요청 2건, 분당 60건. 첫 충전 후 전체 한도(8건, 300건) 적용 |
| 보너스 | $50 이상 +5%, $100 이상 +10%, $200 이상 +15% |
| 가격 | 입력 100만 토큰당 $0.15 · 출력 100만 토큰당 $0.50 |
| 과금 | 선불 크레딧에서 실제 사용량만큼 차감, 오류·거부는 무료 |
| 유효기간 | 유료 크레딧은 만료되지 않으며 구독 없음 |
| 충전 | USDT (TRC20) 또는 USDC (Base), $20~$500 사이 원하는 정수 금액 |
| 콘텐츠 | 성인 콘텐츠 허용, 미성년자가 관련된 성적 콘텐츠는 거부 |
| 키 | 계정당 활성 키 1개, 새 키를 만들면 이전 키는 무효 |
| 로그인 | Google 또는 이메일과 비밀번호 |
오류 코드
오류는 고정된 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 | 모델 혼잡 — 몇 초 후 재시도 |