RU ▾
Получить API-ключ
  1. NSFW Video API
  2. У OpenWebUI есть API? Да, в двух направлениях

У OpenWebUI есть API? Да, в двух направлениях

Есть ли у Open WebUI API? Да, и этот вопрос имеет два смысла: Open WebUI предоставляет собственный API, а также может использовать API другого сервиса в качестве бэкенда для моделей. На этой странице описаны оба варианта и показано, как они сочетаются.

Обновлено

Два шлюза, соединенные двунаправленной стрелкой вокруг серверного куба, показывающие собственное API Open WebUI и внешний бэкенд

Два разных API, которые имеют в виду люди

Когда кто-то спрашивает, есть ли у Open WebUI API, он может спрашивать о любом из двух направлений. Путаница между ними — главная причина, почему руководства по настройке кажутся запутанными, поэтому сначала полезно их разделить.

  • Входящий: ваша программа отправляет запросы в Open WebUI. Она действует как сервер с эндпоинтами для чата, моделей и файлов, защищенными API-ключом, который вы создаете внутри приложения.
  • Исходящий: Open WebUI отправляет запросы на сервер модели, чтобы окну чата было с чем общаться. Это подключение вы настраиваете в разделе «Настройки администратора».

Так что короткий ответ — да, в обоих направлениях. Проект документирует API с маршрутом чата в стиле OpenAI и поддерживает подключение к любому серверу, поддерживающему протокол OpenAI. Детали, такие как точные пути и обработка ключей, могут меняться между версиями, поэтому проверьте документацию для выпуска, который вы используете.

Этот сайт предоставляет модель на исходящей стороне: размещённое текстовое API, совместимое с OpenAI, с единственным идентификатором модели uncensored. Это не Open WebUI и не запускает его за вас. Open WebUI — это программное обеспечение, которое вы размещаете самостоятельно.

Использование собственного API Open WebUI

Open WebUI позволяет авторизованному пользователю создать API-ключ в настройках своего аккаунта. С этим ключом вы можете вызывать его эндпоинты из скриптов. Эндпоинт чата следует формату OpenAI, поэтому существующий код клиента часто можно направить на него. Маршрут, задокументированный проектом на момент написания, — /api/chat/completions; сверьтесь с вашей версией.

# 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."}]}'

Обратите внимание, что в этом случае имя модели — это та модель, которую Open WebUI зарегистрировал. Если вы подключили это API в качестве бэкенда, это имя — uncensored. Ключ в этом запросе — это ключ Open WebUI, а не ключ API модели. Это два отдельных набора учетных данных с разными задачами.

Зачем вообще использовать входящее API? Оно полезно, когда вам нужны дополнительные возможности Open WebUI за вашей программой, такие как хранимые коллекции знаний, учетные записи пользователей или пресеты моделей, и вы хотите получить к ним доступ без браузера.

Использование внешнего API в качестве бэкенда

Другое направление — это то, что нужно большинству людей. У Open WebUI есть раздел для подключений, совместимых с OpenAI, где вы вводите URL и ключ. Для этого сервиса значения следующие:

  • URL: https://api.nsfwvideo.top/v1
  • Ключ: тот, что со страницы ключей
  • Модель: uncensored, обнаруживается автоматически через GET /v1/models

Пошагово: откройте «Настройки администратора», перейдите в «Подключения», добавьте подключение API OpenAI, вставьте URL и ключ, сохраните и выберите модель в новом чате. Если вы предпочитаете запуск через командную строку, установите переменные окружения OPENAI_API_BASE_URL и OPENAI_API_KEY при запуске контейнера.

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

Имейте в виду, что Open WebUI сохраняет множество настроек в свою базу данных при первом запуске. Если позже вы измените переменную окружения и ничего не произойдет, отредактируйте подключение в панели администратора. В быстром руководстве есть формат запроса, который ожидает бэкенд, если вы хотите проверить его с помощью curl.

Связывание двух

Вы можете использовать оба направления одновременно. Ваше приложение вызывает входящее API Open WebUI с ключом Open WebUI, Open WebUI перенаправляет чат в настроенный бэкенд, и ответ возвращается. Такая конфигурация имеет смысл в нескольких ситуациях: команда уже использует Open WebUI с учетными записями и хочет, чтобы скрипты использовали его предустановки, или вы хотите одно место, которое хранит настройки персонажей как для людей, так и для программ.

Это добавляет лишний переход. Каждый запрос теперь проходит через ваш сервер Open WebUI, прежде чем достичь API модели, поэтому есть еще один компонент, который нужно поддерживать, обновлять и защищать. Лимиты запросов также суммируются неочевидным образом: ключ бэкенда позволяет 8 параллельных запросов и 300 в минуту для полного ключа, и каждый пользователь и скрипт, проходящие через ваш экземпляр Open WebUI, делят это ограничение. Если бэкенд отвечает HTTP 429 с кодом ошибки rate_limited или concurrency, сбой обычно отобразится как ошибка в Open WebUI и у вызывающей стороны.

Когда стоит пропустить Open WebUI и обращаться к API напрямую

Если вам нужен только скрипт для генерации текста, например, планов, описаний сцен или черновой озвучки, Open WebUI не нужен. Этот сервис — обычный эндпоинт, совместимый с OpenAI, поэтому стандартный SDK обращается к нему напрямую.

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)

Прямые вызовы дают вам потоковую передачу через SSE, вызов функций, JSON-режим и все параметры сэмплирования без промежуточного слоя. Open WebUI — лучший выбор, когда вам нужен интерфейс чата для людей с историей, учетными записями и предустановками. Скрипт — лучший выбор для пакетной работы. API генерирует только текст: оно не рендерит видео, изображения или аудио, поэтому для видеопроекта оно предоставляет текстовые части, такие как сценарии и промпты для других инструментов. На странице видеопайплайна подробно описано это использование.

Краткое руководство по принятию решений

  • Вам нужно окно чата для себя или команды: запустите Open WebUI и добавьте исходящее подключение.
  • Вам нужно, чтобы скрипты переиспользовали предустановки или учетные записи Open WebUI: используйте его входящее API с ключом Open WebUI.
  • Вам нужна пакетная генерация текста: вызывайте API модели напрямую с помощью SDK OpenAI и пропускайте лишний слой.
  • Вам нужны изображения или голос: ни Open WebUI, ни это текстовое API не создадут их самостоятельно. Подключите отдельные инструменты для этого шага.

Какой бы путь вы ни выбрали, факты со стороны модели остаются неизменными: контекстное окно на 100 000 токенов, разделяемое промптом и ответом, доступные вызов функций и JSON-режим, и строгое правило против сексуального контента с участием несовершеннолетних.

Заметки по безопасности при открытии любого API

Относитесь к обоим ключам как к секретам. Ключ Open WebUI предоставляет любые права, которые есть у создавшего пользователя в вашем экземпляре; ключ модели расходует ваш предоплаченный баланс. Не вставляйте ни один из них в клиентский код или публичные репозитории.

  • Поместите Open WebUI за HTTPS, если он доступен за пределами вашей собственной машины.
  • Создавайте отдельные ключи Open WebUI для каждого скрипта, чтобы можно было отозвать один, не ломая другие.
  • Смените ключ API модели, если он когда-либо появится в логе или на скриншоте.
  • Следите за заголовком ответа X-Balance-USD на бэкенде, чтобы видеть расходы за вызов.

Что касается конфиденциальности, промпты, отправляемые в это API, не используются для обучения. Сам Open WebUI хранит историю чатов в своей собственной базе данных на вашем сервере, поэтому ваши решения по размещению определяют, кто может прочитать это.

Сколько стоит запустить эту настройку

Open WebUI — бесплатное программное обеспечение, которое вы размещаете; ваши затраты — это сервер плюс токены. Токены тарифицируются по $0,15 за 1M входных и $0,50 за 1M выходных токенов из предоплаченного баланса без подписки. Возьмите ход чата с 3 000 входных токенов и 500 выходных токенов: 3 000 x $0,15 / 1M = $0,00045 за вход и 500 x $0,50 / 1M = $0,00025 за выход, всего $0,0007. Тысяча таких ходов стоит $0,70.

Пополнения — любая целая сумма от $20 до $500, с +5% от $50, +10% от $100 и +15% от $200. Оплата криптовалютой, USDT по сети TRC20 или USDC в сети Base. Неудавшиеся или отклонённые запросы не тарифицируются, а кредит не сгорает. Новые пользователи могут получить пробный баланс $0,50 на 7 дней в один клик без ввода платежных данных. См. страницу цен для полной картины.

Напоминание о контенте: модель настроена на ответы без отказов по содержанию для законного использования взрослыми, а контент сексуального характера с участием несовершеннолетних никогда не допускается.

Вопросы и ответы

Есть ли у Open WebUI собственный API?

Да. Вы можете создать API-ключ в настройках аккаунта и вызывать его эндпоинты, включая маршрут чата в стиле OpenAI. Уточните точные пути в документации для вашей версии.

Может ли Open WebUI использовать внешний API, совместимый с OpenAI?

Да. Добавьте его в разделе «Настройки администратора», «Подключения», указав базовый URL и ключ. Для этого сервиса URL — https://api.nsfwvideo.top/v1, а модель — uncensored.

Являются ли ключ Open WebUI и ключ API модели одним и тем же?

Нет. Первый авторизует запросы к вашему серверу Open WebUI. Второй авторизует запросы к API модели и списывает ваш баланс.

Нужен ли мне Open WebUI для использования этого API?

Нет. Любой SDK OpenAI или HTTP-клиент может вызывать его напрямую. Open WebUI — это просто удобный интерфейс чата.

Ваш ключ — в одном клике

Создайте аккаунт, скопируйте ключ, измените базовый URL. Вот и вся настройка.

Получить API-ключ