Duru AI OPEN API 연동 및 사용 가이드
Duru AI는 OpenAI SDK / Cursor 등 기존 OpenAI 호환 클라이언트에서
baseURL 과 apiKey 만 교체하면 그대로 사용할 수 있는 OPEN API를 제공합니다.Duru AI는 OpenAI SDK / Cursor 등 기존 OpenAI 호환 클라이언트에서
baseURL 과 apiKey 만 교체하면 그대로 사용할 수 있는 OPEN API를 제공합니다.1. 개요
- OpenAI Chat Completions 규격 호환
- OpenAI Responses 규격 호환 (Responses 전용 모델 지원)
- 사용량은 크레딧(원화) 으로 차감됩니다.
2. 기본 정보 (Base URL)
3. 인증
모든 요청은 발급받은 API 키를Authorization: Bearer 헤더에 담아 보냅니다.
- API 키는
duruai_접두어로 시작합니다. - 키는 발급 시점에 한 번만 전체 값이 노출되며, 서버에는 해시만 저장됩니다. 분실 시 재발급이 필요합니다.
- 개인용 키 / 조직(팀) 공유 키를 발급할 수 있습니다.
API 키 관리 엔드포인트 (로그인 세션 필요)
4. 지원 모델
GET /llm/v1/models 로 목록을 조회할 수 있습니다. 실제 텍스트 생성 호출이 가능한 모델은 다음과 같습니다.
claude-4.7-opus / claude-4.8-opus 는
temperature 파라미터가 자동 무시됩니다. gpt-5.4-pro / gpt-5.5 는 temperature 와 top_p 파라미터가 모두 자동 무시됩니다.5. 엔드포인트
5-1. 모델 목록 조회
{ "object": "list", "data": [...] } 형식으로 반환됩니다.
5-2. Chat Completions
성공 응답 예시 (200 OK)
5-3. Responses
성공 응답 예시 (200 OK)
6. 사용 예시
cURL
Python
Node.js
스트리밍 (Streaming)
stream: true 로 설정하면 OpenAI와 동일하게 data: ... (Chat) / event: response.* ... (Responses) SSE 청크가 전송되며, 마지막에 data: [DONE] 으로 종료됩니다.
cURL (Chat Completions - 스트리밍)
cURL
Python (OpenAI SDK - 스트리밍)
Python
Node.js (OpenAI SDK - 스트리밍)
Node.js
SSE 응답 데이터 형식
Chat Completions 스트리밍 응답
각 청크는data: {...} 형식으로 전송됩니다.
Responses 스트리밍 응답
event: 이벤트명 + data: {...} 쌍으로 전송됩니다.
Cursor 연동
Cursor의 OpenAI 호환 설정에서 Override Base URL 에https://www.duruai.com/llm/v1, API Key 에 발급받은 duruai_... 키를 입력하면 됩니다.
7. 과금
- 요청 성공 시
입력/출력 토큰 × 모델 단가(USD) × 환율 → 원화로 환산해 크레딧을 차감합니다. - 환율은 한국수출입은행 API 기준 전일 최종 환율을 사용합니다 (매일 자동 갱신, 고정 환율 아님).
- 모델/조직별 할인율이 적용될 수 있습니다.
- 요청 직전 잔액이 1원 미만이면 호출이 차단됩니다. (조직 키는 조직 잔액 기준)
8. 응답 상태 코드
오류 발생 시 HTTP 4xx 상태 코드와 함께, 아래 형식의 JSON이 반환됩니다.status 필드는 HTTP 상태 코드가 아닌 앱 전용 에러 코드입니다.
오류 응답 예시
cURL
Python
Node.js
cURL
Python
Node.js
https://api.duruai.com/llm/v1, API Key 에 발급받은 duruai_... 키를 입력하면 됩니다.