본문으로 건너뛰기

공개 API

Libre WebUI는 OpenAI 호환 API를 제공하므로 기존 SDK, 편집기와 스크립트에서 Base URL만 변경해 내 인스턴스를 사용할 수 있습니다.

인증

설정 → 계정 → API 토큰에서 범위 지정 API 토큰을 만드세요. 토큰은 lwk_ 접두사를 사용하며 해시로 저장됩니다. /v1 표면에는 chat 범위가 필요합니다. 토큰을 일반 Bearer 키로 전달합니다.

export OPENAI_BASE_URL="https://your-instance/v1"
export OPENAI_API_KEY="lwk_..."

요청에는 토큰별 속도 제한(분당 요청 600회)과 공유 채팅 속도 제한이 적용됩니다.

엔드포인트

엔드포인트용도
GET /v1/models사용 가능한 모델(로컬 및 공급자 플러그인 기반)
POST /v1/chat/completions상태 비저장 채팅 완성(스트리밍 또는 비스트리밍)

POST /v1/chat/completions는 익숙한 본문을 받습니다. model, messages(system/user/assistant, 멀티모달 텍스트 부분은 평면화됨), stream, temperature, top_p, max_tokens/max_completion_tokens, seed, stop을 사용할 수 있습니다. 스트리밍 응답은 data: [DONE]으로 끝나는 chat.completion.chunk SSE 프레임입니다. 비스트리밍 응답에는 공급자가 보고한 경우 usage 토큰 수가 포함됩니다.

curl "$OPENAI_BASE_URL/chat/completions" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.2",
"messages": [{"role": "user", "content": "One sentence on herons."}]
}'

의도적으로 설정된 경계

/v1 표면은 상태 비저장 추론입니다. 채팅을 만들거나 지식 베이스를 변경하거나 도구를 실행하지 않습니다. 영구적으로 재생 가능한 이벤트, ID 기반 취소, 멱등적 큐 삽입과 네이티브 도구 루프를 갖춘 상태 유지 대화는 네이티브 /api/chat 이벤트 API에 있으며 같은 토큰이 chat 범위로 호출할 수 있습니다. system/user/assistant 이외의 역할(예: tool)은 조용히 허용하지 않고 거부합니다.

관련 문서

  • 인증 — 계정, 세션, API 토큰
  • 채팅 도구 — 이벤트 API의 네이티브 도구 루프