API Аси

Один адрес для интеграции: получи ключ, отправляй запросы, читай, что возвращает Ася. Базовый адрес — https://api.ася.online (рабочий: https://api.xn--80a8a2b.online).

Возможности

Ася работает с разными типами контента. Выбери тип — увидишь, что именно она умеет и каким эндпоинтом. Контекст проекта (документы) живёт на стороне Аси.

Текст — что умеет Ася
Создаватьгенерация текста, черновики, ответы
/generate
Обрабатыватьпереписать, сократить, перевести, сменить тон
/generate
Парсить и извлекатьполя, теги, категории — строгим JSON
/generate
Сжиматьсаммари длинного текста и транскриптов
/summary
Отвечать по знаниювопросы по документам и видео
/ask
Модерироватьспам, токсичность, ссылки, имена
/moderateскоро
bash
curl -X POST https://api.xn--80a8a2b.online/generate \
  -H "Authorization: Bearer $ASYA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"Ответь одним словом: привет?","json":false}'

Сценарии

Из этих возможностей собираются готовые продукты. Частые сценарии, что строят на Асе:

Боты сообществМодерация, приветствия, ответы по правилам, капча — Ася ведёт чат за тебя.
Контент-платформыСаммари видео, знание с тайм-кодами, журнал обновлений из коммитов.
Студии и авторские сайтыКраткие содержания, тизеры и тексты — в едином тоне проекта.
Игры и нарративРеплики персонажей, описания предметов и локаций, подсказки — генерация текста по контексту игры.
Поддержка и FAQОтветы по базе знаний проекта, вопросы со ссылкой на источник.

Ключи и вход

Войди по номеру телефона и создай свой ключ — здесь же им управляешь (показать, скопировать, выключить, отозвать). Один ключ = один проект.

Загрузка…

Ключ передаётся любым способом: Authorization: Bearer <ключ> (рекомендуется), заголовок x-api-key или ?key= в URL (для тестов). Вызывай API сервер-к-серверу.

Плейграунд

Вставь ключ, выбери эндпоинт и тело запроса — и посмотри ответ Аси прямо здесь, без curl.

Запрос уходит из браузера — удобно для теста. В проде дёргай API сервер-к-серверу, чтобы ключ не светился.

POST/generateуниверсальный вызов с контекстом проекта

Системный контекст = документы проекта. Пользовательскую часть шлёшь в input или в OpenAI-стиле messages. При json:true Ася возвращает строго один JSON — он приходит распарсенным в поле json.

inputstringпользовательская часть (или messages)
messages[{role,content}]OpenAI-стиль, вместо input
jsonbooleantrue — вернуть распарсенный JSON
systemstringдоп. системная приписка (необязательно)
maxTokensnumberпо умолчанию 1500

Ответ (при json:true) — схема Аси, не OpenAI: текст в output, разобранный объект в json.

json
{ "ok": true, "project": "content-box",
  "json": { "version": "3.10.4", "tags": ["feature"], "title": "…", "changes": ["…"] },
  "output": "<сырой текст модели>" }
js
const r = await fetch("https://api.xn--80a8a2b.online/generate", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.ASYA_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ input: commitsText, json: true }),
});
const data = await r.json();
if (!data.ok) throw new Error(data.error);
if (data.json.skip) return;         // день пропущен
const release = data.json;          // {version, tags, title, changes, mkt?}
POST/summaryтранскрипт → краткое содержание

Body: transcript (мин. 30 симв.), необязательно title, source, lang, refresh. Кэш по хэшу. Ответ: { ok, tldr, points[], summary }.

POST/feedbackобучение на правках редактора

Body: after (правильный текст), необязательно before, title, source, kind. Правки подмешиваются в будущие саммари этого проекта.

POST/knowledge/videoпополнить знание по видео

Body: source (id видео), необязательно title, url, summary, chapters.

POST/askвопрос по знанию проекта

Body: q. Ответ Аси со ссылкой на видео и тайм-код.

Ошибки

Все ответы — JSON с полем ok. При ok:false есть error (код) и часто text (пояснение по-русски). Коды: unauthorized (нет/битый ключ), forbidden (ключ без доступа), bad_json, empty, transcript_too_short.