ИдеиHooksReelsСценарииТрендыГолос брендаCTAСторителлингCaptionsКаруселиHashtagsТон
✦Posti◌Brand⌁Ideas⬡Reels◐Social✺AI
Postify
APIДокументы

API

GETПроверка backend connectPOSTГенерация видеоPOSTГенерация постаGETСтатус видео-задачиGETКонтекст бренда для AIAIШаблон для нейросети

Endpoint

Генерация поста

POST
/api/content/create

Создаёт черновик поста из темы, цели и контекста бренда.

Проверка connect

Кнопка отправляет тестовый запрос и показывает реальный ответ. Если backend ещё не готов — можно вывести рыбный пример.

Тестовый request body
{
  "brandId": "brand_123",
  "channel": "telegram",
  "topic": "как AI экономит время на контенте",
  "goal": "lead_generation"
}

Что сайт отправляет

  • brandId
  • channel: telegram | instagram | linkedin
  • topic
  • goal
  • optional assets

Frontend логика

  • Отправить brief
  • Показать состояние генерации
  • Положить caption/mediaPlan в редактор
  • Дать regenerate

Backend логика

  • Собрать brand context
  • Передать brief в AI
  • Сохранить draft post
  • Вернуть postId и текст

Input

  • brandId
  • channel
  • topic
  • goal
  • optional toneOverride
  • Bearer accessToken

Success

  • postId
  • caption
  • mediaPlan
  • hashtags
  • status: draft

Errors

  • brief_too_short
  • brand_context_missing
  • generation_failed
  • moderation_required

Пример curl

curl -X POST http://localhost:3000/api/content/create \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"brandId":"brand_123","channel":"telegram","topic":"как AI экономит время","goal":"lead_generation"}'

Пример fetch

const res = await fetch("/api/content/create", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${accessToken}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    brandId: "brand_123",
    channel: "telegram",
    topic: "как AI экономит время",
    goal: "lead_generation",
  }),
});
const data = await res.json();
console.log(res.ok, data.postId, data.caption);