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

Uncensored VideoSora 2 API: Использование текста без цензуры для видеопайплайнов

Ролевая игра с ИИ: настройка бесплатного пробного периода и реальные затраты

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

Обновлено

Сцена со светящимися облачками реплик, питаемая потоком данных, представляющая ролевую игру через API

Ключевые моменты

  • Пробный баланс $0,50 хватает на несколько сотен коротких ходов ролевой игры, действителен 7 дней, оплата не нужна.
  • Любой фронтенд, принимающий endpoint, совместимый с OpenAI, работает: задайте базовый URL, ключ и модель uncensored.
  • Стоимость зависит от длины истории чата, а не от длины ответа. Обрезайте или резюмируйте старые ходы.
  • Вымысел и ролевые игры только для взрослых и в рамках закона. Ничего с участием несовершеннолетних, никогда.

Что означает «бесплатно» здесь

На этом сервисе нет бесплатного чата без ограничений, и лучше сказать об этом сразу. Вы получаете пробный баланс: после регистрации через Google или по email и паролю вы можете одним кликом на странице API-ключа получить $0,50 пробного баланса. Он предоставляется один на человека, действует 7 дней и не требует оплаты. Пробный ключ поддерживает 2 параллельных запроса и 60 запросов в минуту, что достаточно для одного пользователя.

Это звучит немного, но токены дешевы. Вход стоит $0,15 за 1 млн токенов, а выход — $0,50 за 1 млн. Типичный ход ролевой игры с промптом на 8 000 токенов и ответом на 300 токенов стоит $0,00135, так что $0,50 покрывают примерно 370 ходов. Для многих людей этого хватит на вечер или несколько коротких историй, чтобы решить, подходит ли вам настройка, до того как будут потрачены деньги.

Когда пробный баланс иссякнет, вы пополняете его от $20 любой целой суммой до $500. Баланс не сгорает, неудачные или отклоненные запросы не оплачиваются, и нет подписки, которую нужно отменять. Этот сайт принимает только криптовалюту: USDT в сети TRC20 или USDC в сети Base.

Выберите фронтенд

API передает только текст по HTTP. Вам все равно понадобится что-то, что будет хранить ваших персонажей, историю чата и шаблон промпта. Три распространенных варианта:

  • SillyTavern. Локальное веб-приложение для чатов с персонажами, с лорбуками, персонами и пресетами. Оно позволяет добавить эндпоинт, совместимый с OpenAI, — именно такой API.
  • Другой клиент чата, который предоставляет поля для пользовательского URL, совместимого с OpenAI. Ищите настройки с названиями custom endpoint, proxy или OpenAI-compatible.
  • Ваш собственный скрипт. Пятьдесят строк на Python дают вам полный контроль над памятью, промптами и стоимостью. Это также самый простой способ увидеть, что вы на самом деле отправляете.

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

Подключение SillyTavern за пять шагов

  1. Создайте аккаунт, откройте страницу API-ключа, получите пробный баланс и скопируйте ключ.
  2. В SillyTavern откройте значок плагина (API Connections) и установите тип API в Chat Completion.
  3. Выберите источник с именем Custom (OpenAI-compatible).
  4. Вставьте https://api.uncensoredvideo.cc/v1 в поле пользовательского endpoint, ваш ключ в поле ключа и введите uncensored как ID модели.
  5. Нажмите Connect. Зеленый статус означает, что запрос к GET /v1/models или тестовое сообщение прошли успешно.

Метки меню меняются между версиями SillyTavern, поэтому ориентируйтесь на смысл, а не на точные формулировки. Прежде чем винить приложение, проверьте ключ из терминала:

curl https://api.uncensoredvideo.cc/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","messages":[{"role":"user","content":"Reply with the word ready."}]}'

Если curl работает, а приложение нет, проблема в полях приложения: пропущенный /v1, лишний пробел в ключе или неверное имя модели.

Или напишите небольшой цикл чата

Скрипт — хороший способ узнать, сколько стоит ролевая игра, потому что вы можете выводить использование токенов на каждом ходу. Этот скрипт сохраняет промпт персонажа, обрезает историю до последних 20 сообщений и потоково передает ответ.

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.uncensoredvideo.cc/v1",
    api_key=os.environ["API_KEY"],
)

system = (
    "You are Mara, a dry-witted smuggler pilot in a space-opera story. "
    "Stay in character, write in third person, keep replies under 150 words."
)
history = []

while True:
    user = input("> ")
    history.append({"role": "user", "content": user})
    messages = [{"role": "system", "content": system}] + history[-20:]
    stream = client.chat.completions.create(
        model="uncensored",
        messages=messages,
        temperature=0.9,
        top_p=0.95,
        max_tokens=300,
        stream=True,
        stream_options={"include_usage": True},
    )
    reply = ""
    for chunk in stream:
        if chunk.choices and chunk.choices[0].delta.content:
            piece = chunk.choices[0].delta.content
            reply += piece
            print(piece, end="", flush=True)
        if chunk.usage:
            print("\n[tokens in/out: %d/%d]" % (chunk.usage.prompt_tokens, chunk.usage.completion_tokens))
    history.append({"role": "assistant", "content": reply})

Следите за строкой использования. После нескольких десятков ходов вы увидите, как растет количество входных данных, в то время как выходные остаются неизменными. Это число, которое нужно контролировать.

Напишите промпт персонажа, который держит форму

Большинство проблем в ролевой игре начинаются с первого промпта, а не с модели. Хороший промпт персонажа короткий и конкретный. Назовите персонажа, дайте голос в одном-двух предложениях, опишите сеттинг и скажите, какой должна быть длина ответов. Затем остановитесь. Каждое дополнительное правило — это токен, за который вы платите на каждом ходу, и длинный список «делай» и «не делай» обычно выполняется хуже, чем четкий пример.

Сравните два способа описания одного и того же пилота. Первый говорит, что она храбрая, смешная, верная и умная. Это ничего не говорит модели, чем можно было бы действовать. Второй говорит, что она отвечает на вопросы сначала шуткой, а потом правдой, никогда не объясняет свое прошлое, если не спросят дважды, и матерится, когда ломается деталь корабля. Второй дает модели привычки повторять, а привычки — это то, что читатели воспринимают как личность.

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

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

Сколько стоит ход ролевой игры

Каждый запрос повторно отправляет системный промпт, описание персонажа и историю, поэтому входные токены растут по мере увеличения длины чата. Вот арифметика для ответа на 300 токенов, который сам по себе стоит 300 x $0,50 / 1 000 000 = $0,00015:

Размер промптаСтоимость входаСтоимость ходаНа каждые 100 ходовХоды на $0,50
4 000 токенов$0,0006$0,00075$0,075около 666
8 000 токенов$0,0012$0,00135$0,135около 370
20 000 токенов$0,0030$0,00315$0,315около 158
50 000 токенов$0,0075$0,00765$0,765около 65

Вывод простой. Компактный промпт на 8 000 токенов примерно в 5,7 раза дешевле, чем промпт на 50 000 токенов для того же количества ходов. На уровне 8 000 токенов пополнение на $20 оплачивает около 14 800 ходов. Большие пополнения добавляют бонус: +5% от $50, +10% от $100 и +15% от $200, так что $100 дают $110 баланса. См. страницу тарифов для полной таблицы.

Делайте длинные истории дешевыми и связными

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

  • Резюмируйте, затем удаляйте. Каждые 20 ходов просите модель дать 150-словное резюме истории на данный момент, сохраняйте его в системном промпте и удаляйте старые сообщения.
  • Держите лист персонажа коротким. Страница правил, которые игнорирует модель, — это страница, за которую вы платите на каждом ходу.
  • Ограничьте ответ. max_tokens необязателен, но лимит останавливает разрастание ответов и держит темп плотным.
  • Настройте сэмплирование. Температура около 0,8–1,0 подходит для художественной литературы. Если модель повторяет фразы, немного повысьте штраф за частоту или за присутствие. Они передаются как есть.
  • Используйте последовательности stop, чтобы модель не писала за вас, например, стоп на имени вашего персонажа, за которым следует двоеточие.

Фиксированные сиды также передаются как есть, что помогает, когда вы хотите воспроизвести сцену и сравнить две версии промпта.

Распространенные проблемы и быстрые исправления

Вот самые частые проблемы в длинных чатах и настройки, которые обычно помогают их решить.

  • Модель говорит за вас. Добавьте строку в системный промпт, а также последовательность остановки на имени вашего персонажа.
  • Ответы становятся длиннее с каждым ходом. Модель копирует длину предыдущих ответов. Уменьшите max_tokens, отредактируйте один длинный ответ вручную, и паттерн сбросится.
  • Повторяющиеся фразы. Слегка повысьте температуру, добавьте небольшой штраф за присутствие или частоту и варьируйте свои сообщения. Модель зеркалит то, что видит.
  • Забытые детали. Поместите факты, которые должны сохраниться, такие как имена, травмы и обещания, в короткую закрепленную заметку вверху промпта и обновляйте ее, когда история меняется.
  • Сухой тон. Приведите пример более выразительной речи. Тон задаётся примерами гораздо эффективнее, чем прилагательными.

Когда происходит что-то странное, выведите полный список сообщений, которые отправляет ваш скрипт. В девяти случаях из десяти причина видна прямо в промпте: оставшаяся инструкция, продублированное резюме или история, которую не обрезали.

Лимиты и ошибки, с которыми вы можете столкнуться

Полный ключ позволяет выполнять 8 параллельных запросов и 300 запросов в минуту, пробный ключ — 2 и 60 соответственно. Если превысить лимит, API вернёт HTTP 429. Код ошибки rate_limited означает превышение лимита запросов в минуту, а concurrency — превышение лимита одновременных запросов. Ответ 429 с заголовком Retry-After: 5 сигнализирует о временной перегрузке: подождите пять секунд и повторите запрос.

Один нюанс часто упускают: потоковый запрос удерживает слот параллельных запросов до завершения потока. Если быстро нажать «перегенерировать» три раза с пробным ключом, третья попытка может завершиться ошибкой concurrency. Дождитесь завершения потока или настройте повторную попытку клиентом после короткой паузы. Каждый ответ также содержит заголовок X-Balance-USD, поэтому ваш скрипт может выводить оставшийся баланс после каждого хода.

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

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

Есть ли постоянный бесплатный тариф?

Нет. Бесплатная часть — это пробный баланс на $0,50, который можно получить один раз после регистрации. После этого вы платите за токены из предоплаченного баланса, начиная с пополнения на $20.

Какие приложения можно использовать для ролевых игр?

Любое приложение или скрипт, позволяющий задать базовый URL, совместимый с OpenAI, API-ключ и имя модели. SillyTavern — самый распространённый выбор, но подойдёт и простой цикл на Python.

Откажется ли модель играть сцены в образе?

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

Как сделать так, чтобы длинная история не стоила дорого?

Делайте промпт коротким. Резюмируйте старые ходы, ограничивайте объём истории, которую вы отправляете, и задавайте разумную длину ответа. Входные токены составляют большую часть счёта в длинных чатах.

Ваш ключ — всего в одной форме

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

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