- NSFW Video API
- OpenWebUI có API không? Có, theo hai hướng
OpenWebUI có API không? Có, theo hai hướng
Open WebUI có API không? Có, và câu hỏi này có hai nghĩa: Open WebUI cung cấp API của riêng nó, và nó cũng có thể sử dụng API của người khác làm backend mô hình. Trang này giải thích cả hai và cho thấy cách chúng kết hợp với nhau.

Hai API khác nhau mà mọi người thường đề cập
Khi ai đó hỏi liệu Open WebUI có API không, họ có thể đang hỏi về một trong hai hướng. Nhầm lẫn giữa chúng là lý do chính khiến các hướng dẫn cài đặt trở nên khó hiểu, vì vậy việc tách biệt chúng trước là rất hữu ích.
- Inbound: chương trình của bạn gửi yêu cầu đến Open WebUI. Nó đóng vai trò là máy chủ với các endpoint cho chat, mô hình và tệp, được bảo vệ bởi khóa API bạn tạo trong ứng dụng.
- Outbound: Open WebUI gửi yêu cầu đến máy chủ mô hình để cửa sổ trò chuyện của nó có thứ để trò chuyện. Đây là kết nối bạn cấu hình dưới Cài đặt Quản trị.
Vì vậy, câu trả lời ngắn gọn là có cho cả hai. Dự án tài liệu hóa một API với endpoint chat kiểu OpenAI và hỗ trợ kết nối với bất kỳ máy chủ nào sử dụng giao thức OpenAI. Các chi tiết như đường dẫn chính xác và xử lý khóa có thể thay đổi giữa các phiên bản, vì vậy hãy kiểm tra tài liệu cho bản phát hành bạn đang chạy.
Trang web này cung cấp mô hình ở phía outbound: một API văn bản được lưu trữ, tương thích OpenAI với một ID mô hình duy nhất uncensored. Nó không phải là Open WebUI và không chạy nó cho bạn. Open WebUI là phần mềm bạn tự lưu trữ.
Sử dụng API riêng của Open WebUI
Open WebUI cho phép người dùng đã đăng nhập tạo khóa API trong cài đặt tài khoản. Với khóa đó, bạn có thể gọi các endpoint của nó từ các script. Endpoint chat tuân theo định dạng OpenAI, vì vậy mã máy khách hiện có thường có thể được trỏ vào nó. Route được tài liệu hóa bởi dự án tại thời điểm viết là /api/chat/completions; hãy xác nhận với phiên bản của bạn.
# Open WebUI running locally on port 3000, key created in Settings > Account
curl http://localhost:3000/api/chat/completions \
-H "Authorization: Bearer $OPENWEBUI_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Summarize this scene in one line."}]}'
Lưu ý rằng ở đây tên mô hình là bất kỳ mô hình nào mà Open WebUI đã đăng ký. Nếu bạn đã kết nối API này làm backend, tên đó là uncensored. Khóa trong yêu cầu này là khóa Open WebUI, không phải khóa API mô hình. Chúng là hai thông tin xác thực riêng biệt với hai nhiệm vụ riêng biệt.
Tại sao sử dụng API inbound? Nó hữu ích khi bạn muốn các tính năng bổ sung của Open WebUI phía sau chương trình của mình, chẳng hạn như các bộ sưu tập kiến thức đã lưu, tài khoản theo người dùng hoặc các bộ cài đặt mô hình của nó, và bạn muốn truy cập chúng mà không cần trình duyệt.
Sử dụng API bên ngoài làm backend
Hướng còn lại là hướng mà hầu hết mọi người cần. Open WebUI có một phần dành cho các kết nối tương thích OpenAI, nơi bạn nhập URL và khóa. Đối với dịch vụ này, các giá trị là:
- URL:
https://api.nsfwvideo.top/v1 - Khóa: khóa từ trang khóa
- Mô hình:
uncensored, được phát hiện tự động thông quaGET /v1/models
Từng bước: mở Cài đặt Quản trị, vào Kết nối, thêm kết nối API OpenAI, dán URL và khóa, lưu và chọn mô hình trong một cuộc trò chuyện mới. Nếu bạn thích bắt đầu bằng dòng lệnh, hãy đặt các biến môi trường OPENAI_API_BASE_URL và OPENAI_API_KEY khi khởi chạy container.
docker run -d -p 3000:8080 \
-e OPENAI_API_BASE_URL=https://api.nsfwvideo.top/v1 \
-e OPENAI_API_KEY=$API_KEY \
-v open-webui:/app/backend/data \
ghcr.io/open-webui/open-webui:main
Hãy lưu ý rằng Open WebUI lưu nhiều cài đặt vào cơ sở dữ liệu của nó khi khởi động lần đầu. Nếu sau đó bạn thay đổi biến môi trường và không có gì xảy ra, hãy chỉnh sửa kết nối trong bảng quản trị thay thế. Hướng dẫn bắt đầu nhanh có định dạng yêu cầu mà backend mong đợi nếu bạn muốn xác minh nó bằng curl.
Nối hai API lại với nhau
Bạn có thể sử dụng cả hai hướng cùng lúc. Ứng dụng của bạn gọi API inbound của Open WebUI bằng khóa Open WebUI, Open WebUI chuyển tiếp cuộc trò chuyện đến backend bạn đã cấu hình và phản hồi được trả lại. Sự sắp xếp này có ý nghĩa trong một số tình huống: một nhóm đã chạy Open WebUI với các tài khoản và muốn các script chia sẻ các bộ cài đặt của nó, hoặc bạn muốn một nơi duy nhất chứa cài đặt nhân vật cho cả con người và chương trình.
Nó thêm một bước nhảy. Mọi yêu cầu bây giờ đều vượt qua máy chủ Open WebUI của bạn trước khi đạt đến API mô hình, vì vậy có thêm một thứ để duy trì, vá và bảo mật. Giới hạn tốc độ cũng chồng lên nhau theo cách khó lường: khóa backend cho phép 8 yêu cầu đồng thời và 300 yêu cầu mỗi phút cho một khóa đầy đủ, và mọi người dùng và script đi qua phiên bản Open WebUI của bạn đều chia sẻ khoản cho phép đó. Nếu backend trả về HTTP 429, với mã lỗi rate_limited hoặc concurrency, lỗi thường sẽ xuất hiện dưới dạng lỗi trong Open WebUI và trong máy khách của bạn.
Khi nào nên bỏ qua Open WebUI và gọi API trực tiếp
Nếu tất cả những gì bạn cần là một script tạo văn bản, chẳng hạn như dàn ý, mô tả cảnh hoặc lời thoại nháp, Open WebUI là không cần thiết. Dịch vụ này là một endpoint tương thích OpenAI tiêu chuẩn, vì vậy SDK tiêu chuẩn có thể giao tiếp trực tiếp với nó.
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.nsfwvideo.top/v1", api_key=os.environ["API_KEY"])
resp = client.chat.completions.create(
model="uncensored",
messages=[
{"role": "system", "content": "You write concise shot lists for short films."},
{"role": "user", "content": "Shot list for a ninety second chase through a night market."},
],
temperature=0.7,
)
print(resp.choices[0].message.content)
Các lệnh gọi trực tiếp cung cấp cho bạn truyền phát qua SSE, gọi công cụ, chế độ JSON và mọi tham số lấy mẫu mà không có lớp trung gian. Open WebUI là lựa chọn tốt hơn khi bạn muốn giao diện trò chuyện cho mọi người, với lịch sử, tài khoản và bộ cài đặt. Một script là lựa chọn tốt hơn cho công việc hàng loạt. API chỉ tạo văn bản: nó không hiển thị video, hình ảnh hoặc âm thanh, vì vậy đối với một dự án video, nó cung cấp các phần văn bản như kịch bản và prompt cho các công cụ khác. Trang quy trình video đi sâu vào việc sử dụng đó.
Hướng dẫn quyết định nhanh
- Bạn muốn một cửa sổ trò chuyện cho bản thân hoặc một nhóm: hãy chạy Open WebUI và thêm kết nối outbound.
- Bạn muốn các script sử dụng lại các bộ cài đặt hoặc tài khoản Open WebUI: hãy sử dụng API inbound của nó với khóa Open WebUI.
- Bạn muốn tạo văn bản hàng loạt: hãy gọi API mô hình trực tiếp bằng SDK OpenAI và bỏ qua lớp bổ sung.
- Bạn cần hình ảnh hoặc giọng nói: cả Open WebUI lẫn API văn bản này đều không tự tạo ra chúng. Hãy kết nối các công cụ riêng biệt cho bước đó.
Bất kể đường bạn chọn, các thông số phía mô hình vẫn như nhau: cửa sổ ngữ cảnh 100,000 token dùng chung cho prompt và phản hồi, gọi hàm và chế độ JSON có sẵn, và quy tắc cứng chống lại nội dung tình dục liên quan đến người chưa thành niên.
Ghi chú bảo mật khi công khai bất kỳ API nào
Hãy coi cả hai khóa đều là bí mật. Khóa Open WebUI cấp bất kỳ quyền nào mà người dùng tạo ra có thể làm trong instance của bạn; khóa API mô hình chi trả số dư trả trước của bạn. Không dán bất kỳ khóa nào vào mã phía client hoặc kho lưu trữ công khai.
- Đặt Open WebUI sau HTTPS nếu nó có thể truy cập được từ xa ngoài máy của riêng bạn.
- Tạo các khóa Open WebUI riêng biệt cho mỗi script để bạn có thể thu hồi một khóa mà không làm hỏng các khóa khác.
- Xoay khóa API mô hình nếu nó xuất hiện trong nhật ký hoặc ảnh chụp màn hình.
- Theo dõi tiêu đề phản hồi
X-Balance-USDtrên backend để xem chi tiêu cho mỗi lệnh gọi.
Về quyền riêng tư, các prompt gửi đến API này không được sử dụng để huấn luyện. Bản thân Open WebUI lưu lịch sử trò chuyện trong cơ sở dữ liệu riêng của nó trên máy chủ của bạn, vì vậy các lựa chọn lưu trữ của bạn xác định ai có thể đọc dữ liệu đó.
Chi phí vận hành cấu hình này
Open WebUI là phần mềm miễn phí bạn tự lưu trữ; chi phí của bạn là máy chủ cộng với token. Token được tính phí $0.15 cho mỗi 1M token đầu vào và $0.50 cho mỗi 1M token đầu ra, trừ từ tín dụng trả trước mà không có gói đăng ký. Một lượt chat với 3,000 token đầu vào và 500 token đầu ra: 3,000 x $0.15 / 1M = $0.00045 cho đầu vào và 500 x $0.50 / 1M = $0.00025 cho đầu ra, tổng cộng $0.0007. Một nghìn lượt như vậy tốn $0.70.
Các khoản nạp tiền là bất kỳ số nguyên nào từ $20 đến $500, với +5% từ $50, +10% từ $100 và +15% từ $200. Thanh toán bằng tiền mã hóa, USDT trên TRC20 hoặc USDC trên Base. Các yêu cầu thất bại hoặc bị từ chối không bị tính phí, và tín dụng không bao giờ hết hạn. Người dùng mới có thể nhận $0,50 dùng thử trong 7 ngày chỉ với một cú nhấp chuột và không cần thông tin thanh toán. Xem trang giá cả để biết toàn bộ bức tranh.
Lưu ý về nội dung: mô hình được tinh chỉnh để trả lời mà không từ chối nội dung cho mục đích người trưởng thành hợp pháp, và nội dung khiêu dâm liên quan đến người chưa thành niên luôn bị cấm.
Hướng dẫn khác
Hỏi đáp
Open WebUI có API riêng không?
Có. Bạn có thể tạo khóa API trong cài đặt tài khoản và gọi các endpoint của nó, bao gồm cả tuyến trò chuyện kiểu OpenAI. Hãy xác nhận các đường dẫn chính xác trong tài liệu cho phiên bản của bạn.
Open WebUI có thể sử dụng API tương thích OpenAI bên ngoài không?
Có. Thêm nó vào Cài đặt Quản trị, Kết nối với URL cơ sở và khóa. Đối với dịch vụ này, URL là https://api.nsfwvideo.top/v1 và mô hình là uncensored.
Khóa Open WebUI và khóa API mô hình có giống nhau không?
Không. Khóa đầu tiên ủy quyền các yêu cầu đến máy chủ Open WebUI của bạn. Khóa thứ hai ủy quyền các yêu cầu đến API mô hình và sử dụng số dư của bạn.
Tôi có cần Open WebUI để sử dụng API này không?
Không. Bất kỳ SDK OpenAI hoặc máy khách HTTP nào cũng có thể gọi nó trực tiếp. Open WebUI chỉ là một giao diện trò chuyện tiện lợi.
Khóa của bạn chỉ cách một biểu mẫu
Tạo tài khoản, sao chép khóa, thay đổi URL cơ sở. Đó là toàn bộ cấu hình.