Документация NameGPT

JSON-контракты и база для будущего API

Здесь собрана полная структура JSON, которая уже используется в текущем продукте: анкета, payload вебхука, формат ответа генератора, refine, проверки доступности и базовая API-reference.

Webhook

Текущий генератор подключён через внешний webhook.

https://n.mdch.cloud/webhook/namegpt

Готовое решение для API-доков

В качестве базы используется популярный рендерер Scalar.

OpenAPI

Текущая спецификация содержит основные endpoints и схемы запросов/ответов.

Schemas defined: 12

Анкета генерации

Основной JSON, который фронт отправляет при запуске генерации

POST /api/v1/sessions
ПолеТипОписание
businessSentencestringОбязательное поле, 10..500 символов: одно короткое предложение только про сферу бизнеса
languagesstring[]Массив из RU, EN, DE, FR, ES, OTHER
otherLanguagestringСейчас всегда пустая строка, оставлено под будущие сценарии
useLengthLimitbooleanВключён ли диапазон длины
lengthMinnumberМинимум длины каждого слова, 3..10
lengthMaxnumberМаксимум длины каждого слова, 3..10
wordCountMode'unlimited' | 'strict-1' | 'strict-2' | 'strict-3' | '1-2' | '1-3' | '2-3' | '3plus'Режим количества слов; если `unlimited`, это эквивалент «Без лимитов»
useExtrabooleanВключён ли блок дополнительных пожеланий
desiredRootsstring[]Желательные корни / части слов
forbiddenRootsstring[]Что нельзя использовать
creativePresetsstring[]Выбранные пресеты генерации; если пресеты вручную не выбраны, сервер использует базовый набор без slang / Мат / 18+
priceRubnumberТекущая цена прогона, сейчас 500

Пример JSON

{
  "businessSentence": "Сервис подбора названий для новых компаний и продуктов",
  "languages": [
    "RU",
    "EN",
    "OTHER",
    "DE"
  ],
  "otherLanguage": "",
  "useLengthLimit": true,
  "lengthMin": 5,
  "lengthMax": 8,
  "wordCountMode": "1-2",
  "useExtra": true,
  "desiredRoots": [
    "nova",
    "spark"
  ],
  "forbiddenRoots": [
    "cheap",
    "copy"
  ],
  "creativePresets": [
    "wordplay",
    "multi-layered",
    "modern"
  ],
  "priceRub": 500
}

JSON, который NameGPT отправляет на внешний webhook

Это текущий фактический payload для интеграции генератора. Теперь анкета дополнительно собирается в готовый prompt перед отправкой во webhook.

OUTBOUND → https://n.mdch.cloud/webhook/namegpt
ПолеТипОписание
session_idstringID созданной сессии
user_emailstringEmail текущего пользователя
mode'initial' | 'refine'Начальная генерация или refine
liked_namesstring[]Понравившиеся названия при refine
commentstring | nullКомментарий пользователя для refine
promptstringПолностью собранный prompt для генератора
prompt_parts.mainpromptstringОсновной шаблон из mainprompt.md
prompt_parts.sfera_promptstringЧасть со сферой бизнеса из sfera_prompt.md
prompt_parts.language_rulesstringПравила по распределению названий между языками
prompt_parts.lenght_rulesstring?Правила по длине каждого слова; присутствуют только если лимит включён
prompt_parts.word_count_rulesstringПравила по количеству слов в названии
prompt_parts.basic_presets_rulestringПодставленный блок общих правил распределения пресетов без лишних мета-комментариев
prompt_parts.creative_presets_taskstringЗадача с квотами по выбранным пресетам
prompt_parts.preset_rulesobjectДетальные prompt-блоки только по активным семействам пресетов
+ все поля анкетыobjectАнкета по-прежнему полностью вкладывается в payload

Пример JSON

{
  "session_id": "cmojs208i0002k8brpn3sp41q",
  "user_email": "admin@namegpt.ru",
  "mode": "initial",
  "liked_names": [],
  "comment": null,
  "prompt": "<role>\nТы — профессиональный нейминг-стратег и креативный директор.\nТвоя задача — придумать названия компаний по анкете пользователя.\n</role>\n\n<main_task>\nСгенерируй ровно 20 вариантов названий компании.\n\nКаждое название должно:\n1. Иметь смысловую связь со сферой бизнеса пользователя.\n2. Соответствовать всем техническим ограничениям.\n3. Быть пригодным как название бренда, компании, сервиса или продукта.\n4. Не быть случайным набором красивых слогов без связи с бизнесом.\n5. Не повторять другие варианты по смыслу, звучанию и структуре.\n</main_task>\n\n<priority_rules>\nПриоритеты правил:\n\n1. Запрещённые части слов, корни и фрагменты — абсолютный запрет.\n2. Язык названия.\n3. Длина слов / названия.\n4. Количество слов.\n5. Обязательные части слов / корни.\n6. Креативность, благозвучие, оригинальность.\n\nЕсли креативная идея конфликтует с техническими правилами — откажись от идеи и придумай другую.\nЕсли обязательный корень конфликтует с запрещённым фрагментом — запрещённый фрагмент важнее.\n</priority_rules>\n\n<business_context>\nПользователь описал сферу деятельности компании так:\n\n\"Сервис подбора названий для новых компаний и продуктов\"\n\nЭто главный смысловой якорь генерации.\n\nКаждое из 20 названий должно хотя бы косвенно отражать эту сферу бизнеса:\n- через прямую ассоциацию;\n- через пользу для клиента;\n- через образ, метафору или эмоцию;\n- через аудиторию;\n- через проблему, которую решает бизнес;\n- через результат, который получает клиент;\n- через отраслевой контекст.\n\nНельзя генерировать универсальные названия, которые подходят к любой компании и не связаны с описанием бизнеса.\n</business_context>\n<semantic_check>\nПеред финальным ответом проверь каждый вариант:\nможно ли объяснить, почему это название подходит именно для этой сферы бизнеса?\n\nЕсли объяснение слабое, слишком общее или подходит к любой сфере — замени название.\n</semantic_check>\n\n<language_rules>\nРазрешённые языки названий: русский, английский, немецкий.\n\nРаспредели 20 названий максимально равномерно между выбранными языками.\nНе смешивай языки внутри одного названия.\n</language_rules>\n\n<length_rules>\nОграничение длины: каждое отдельное слово в названии должно быть от 5 до 8 символов включительно.\n\nПравила подсчёта:\n- пробелы не считаются;\n- дефисы и знаки препинания не считаются;\n- буквы с диакритикой считаются как один символ;\n- если название состоит из нескольких слов, каждое слово отдельно должно попадать в диапазон 5–8 символов.\n\nНе выдавай варианты, где хотя бы одно слово короче 5 или длиннее 8 символов.\n</length_rules>\n\n<word_count_rules>\nРазрешённое количество слов в названии: 1 или 2.\n\nИз 20 названий:\n- минимум 6 названий должны состоять из 1 слов;\n- минимум 6 названий должны состоять из 2 слов;\n- остальные 8 названий могут состоять только из 1 или 2 слов — выбирай по качеству.\n\nНе используй названия с другим количеством слов.\n</word_count_rules>\n\nЕсли среди активных пресетов есть wordplay:\nминимум 20% выдачи, то есть минимум 4 из 20.\n\nЕсли среди активных пресетов есть multilayer:\nминимум 10% выдачи, то есть минимум 2 из 20.\n\nОставшиеся слоты распределяй максимально равномерно между остальными активными пресетами.\n\nЕсли после округления остаются свободные слоты:\nдобавляй их к самым перспективным пресетам для конкретной сферы бизнеса.\n\nЕсли технические ограничения мешают выполнить креативный пресет:\nсначала соблюдай технические ограничения, затем подбирай ближайшую креативную механику.\n\n<creative_presets_task>\nТеперь сгенерируй названия с учётом выбранных креативных пресетов.\n\nВажно:\nпресет — это не обязательное свойство всех 20 названий.\nКаждый пресет должен применяться только к своей части выдачи согласно квотам.\n\nВсего нужно сгенерировать ровно 20 названий.\n\nВыбранные пресеты:\n- Игра слов (wordplay)\n- Многослойность (multilayer)\n- Молодёжное / современное (modern_youth)\n\nКвоты по пресетам:\n- Игра слов (wordplay): 4 из 20\n- Многослойность (multilayer): 2 из 20\n- Молодёжное / современное (modern_youth): 14 из 20\n\nДля каждого названия укажи, к какому основному пресету оно относится.\nОдно название может иметь дополнительные признаки других пресетов, но основной пресет должен быть один.\n\nНе делай все названия в одном стиле.\nЦель пресетов — разнообразие, расширение креативного поля и повышение качества выдачи.\n\nЕсли название одновременно подходит под несколько пресетов, выбери тот пресет, под квоту которого оно засчитывается.\n</creative_presets_task>\n\n<preset_distribution_rules>\nСоблюдай распределение названий по пресетам.\n\nПравила:\n1. Сгенерируй ровно столько названий для каждого пресета, сколько указано в - Игра слов (wordplay): 4 из 20\n- Многослойность (multilayer): 2 из 20\n- Молодёжное / современное (modern_youth): 14 из 20.\n2. Не превышай и не занижай квоту без необходимости.\n3. Если для какого-то пресета невозможно создать качественный вариант из-за технических ограничений, замени его ближайшим вариантом, но явно укажи это в поле \"preset_note\".\n4. Названия внутри одного пресета не должны быть однотипными.\n5. Если пресет предполагает юмор, игру слов или культурные отсылки, не копируй длинные известные фразы дословно — адаптируй их под сферу бизнеса.\n6. Если выбран язык названия, культурные отсылки должны соответствовать этому языку и культурной среде.\n7. Если выбрано два языка, распределение пресетов должно по возможности сохраняться внутри каждого языка.\n</preset_distribution_rules>\n\n<preset id=\"wordplay\" name=\"Игра слов\">\nСоздавай названия на основе каламбуров, двойных значений, скрытых смыслов, переосмысленных выражений и культурных отсылок.\n\nЧто использовать:\n- каламбуры;\n- омонимы и похожие по звучанию слова;\n- двойное прочтение;\n- лёгкие смысловые ловушки;\n- переделанные пословицы и поговорки;\n- короткие популярные выражения;\n- рекламные слоганы, переосмысленные под сферу бизнеса;\n- фразы из массовой культуры;\n- короткие узнаваемые фразы из фильмов;\n- короткие строки или ритмические конструкции из песен, но не копировать длинные строки дословно;\n- для русского языка можно использовать советские фильмы, советские песни, крылатые фразы и бытовые присказки;\n- для английского, немецкого, французского и испанского — использовать более универсальные мировые культурные паттерны и узнаваемые выражения на выбранном языке.\n\nКак делать:\n1. Найди ключевые слова, ассоциации и действия из сферы бизнеса.\n2. Найди созвучные или культурно знакомые выражения.\n3. Замени одно ключевое слово в известной конструкции на слово, связанное со сферой бизнеса.\n4. Сделай название коротким, запоминаемым и пригодным для бренда.\n5. Не делай шутку слишком сложной: она должна считываться быстро.\n\nХорошее название в этом пресете:\n- имеет двойное дно;\n- вызывает улыбку или узнавание;\n- связано со сферой бизнеса;\n- не выглядит как случайная шутка;\n- может работать как бренд.\n\nПлохое название:\n- непонятный каламбур;\n- слишком длинная переделанная фраза;\n- фраза, где сфера бизнеса просто вставлена механически;\n- название, которое смешное, но небрендовое;\n- название, которое требует длинного объяснения.\n</preset>\n\n<preset id=\"multilayer\" name=\"Многослойность\">\nСоздавай названия, в которых есть 2–3 смысловых слоя.\n\nСтруктура хорошего многослойного названия:\n1. Первый слой — простое и понятное прочтение для обычного человека.\n2. Второй слой — смысл для тех, кто понимает сферу бизнеса, аудиторию, проблему или продукт.\n3. Третий слой — неожиданный поворот, ирония, контраст или более глубокая метафора.\n\nЧто использовать:\n- профессиональные термины, но в мягкой форме;\n- метафоры из сферы бизнеса;\n- слова с несколькими значениями;\n- культурные или отраслевые намёки;\n- скрытую пользу продукта;\n- контраст между простым звучанием и глубоким смыслом;\n- игру между буквальным и переносным значением.\n\nКак делать:\n1. Определи главную пользу бизнеса.\n2. Определи скрытый инсайт аудитории.\n3. Найди слово или короткую фразу, которая может одновременно отражать пользу, сферу и дополнительный смысл.\n4. Сделай название таким, чтобы оно работало даже без объяснения, но становилось сильнее после объяснения.\n\nХорошее название:\n- понятно на поверхности;\n- имеет второй смысл для тех, кто в теме;\n- звучит как бренд;\n- не выглядит как ребус;\n- может быть объяснено в 1–2 коротких предложениях.\n\nПлохое название:\n- слишком интеллектуальное;\n- непонятное без расшифровки;\n- требует знания редкого факта;\n- выглядит как внутренний мем, который поймут только авторы.\n</preset>\n\n<preset id=\"modern_youth\" name=\"Молодёжное / современное\">\nСоздавай названия в современном стиле, похожие по вайбу на актуальные бренды в заданной сфере.\n\nВажно:\nне копируй названия существующих компаний.\nНужно уловить стиль, структуру, ритм и механику современного нейминга в этой нише.\n\nЧто использовать:\n- короткие слова;\n- простые сильные слоги;\n- минималистичные формы;\n- неологизмы;\n- разговорность;\n- мягкую дерзость;\n- tech/startup-style, если сфера технологичная;\n- lifestyle-style, если сфера потребительская;\n- локальный современный стиль выбранного языка;\n- необычные окончания, если они типичны для сферы;\n- формы, которые легко смотрятся в приложении, логотипе, домене и соцсетях.\n\nКак делать:\n1. Представь, как называются современные компании в этой сфере.\n2. Выдели общую механику: коротко, дерзко, мягко, технологично, иронично, премиально или дружелюбно.\n3. Создай новые названия в похожем стиле, но без копирования.\n4. Проверяй, что название не выглядит устаревшим.\n5. Не используй искусственный “молодёжный” тон, если он звучит кринжово.\n\nХорошее название:\n- звучит актуально;\n- легко смотрится в интерфейсе;\n- короткое и брендопригодное;\n- не похоже на старый офлайн-бизнес;\n- может работать в соцсетях.\n\nПлохое название:\n- притворяется молодёжным;\n- перегружено сленгом;\n- выглядит как никнейм школьника;\n- быстро устареет;\n- не связано со сферой бизнеса.\n</preset>",
  "prompt_parts": {
    "mainprompt": "<role>\nТы — профессиональный нейминг-стратег и креативный директор.\nТвоя задача — придумать названия компаний по анкете пользователя.\n</role>\n\n<main_task>\nСгенерируй ровно 20 вариантов названий компании.\n\nКаждое название должно:\n1. Иметь смысловую связь со сферой бизнеса пользователя.\n2. Соответствовать всем техническим ограничениям.\n3. Быть пригодным как название бренда, компании, сервиса или продукта.\n4. Не быть случайным набором красивых слогов без связи с бизнесом.\n5. Не повторять другие варианты по смыслу, звучанию и структуре.\n</main_task>\n\n<priority_rules>\nПриоритеты правил:\n\n1. Запрещённые части слов, корни и фрагменты — абсолютный запрет.\n2. Язык названия.\n3. Длина слов / названия.\n4. Количество слов.\n5. Обязательные части слов / корни.\n6. Креативность, благозвучие, оригинальность.\n\nЕсли креативная идея конфликтует с техническими правилами — откажись от идеи и придумай другую.\nЕсли обязательный корень конфликтует с запрещённым фрагментом — запрещённый фрагмент важнее.\n</priority_rules>",
    "sfera_prompt": "<business_context>\nПользователь описал сферу деятельности компании так:\n\n\"Сервис подбора названий для новых компаний и продуктов\"\n\nЭто главный смысловой якорь генерации.\n\nКаждое из 20 названий должно хотя бы косвенно отражать эту сферу бизнеса:\n- через прямую ассоциацию;\n- через пользу для клиента;\n- через образ, метафору или эмоцию;\n- через аудиторию;\n- через проблему, которую решает бизнес;\n- через результат, который получает клиент;\n- через отраслевой контекст.\n\nНельзя генерировать универсальные названия, которые подходят к любой компании и не связаны с описанием бизнеса.\n</business_context>\n<semantic_check>\nПеред финальным ответом проверь каждый вариант:\nможно ли объяснить, почему это название подходит именно для этой сферы бизнеса?\n\nЕсли объяснение слабое, слишком общее или подходит к любой сфере — замени название.\n</semantic_check>",
    "language_rules": "<language_rules>\nРазрешённые языки названий: русский, английский, немецкий.\n\nРаспредели 20 названий максимально равномерно между выбранными языками.\nНе смешивай языки внутри одного названия.\n</language_rules>",
    "lenght_rules": "<length_rules>\nОграничение длины: каждое отдельное слово в названии должно быть от 5 до 8 символов включительно.\n\nПравила подсчёта:\n- пробелы не считаются;\n- дефисы и знаки препинания не считаются;\n- буквы с диакритикой считаются как один символ;\n- если название состоит из нескольких слов, каждое слово отдельно должно попадать в диапазон 5–8 символов.\n\nНе выдавай варианты, где хотя бы одно слово короче 5 или длиннее 8 символов.\n</length_rules>",
    "word_count_rules": "<word_count_rules>\nРазрешённое количество слов в названии: 1 или 2.\n\nИз 20 названий:\n- минимум 6 названий должны состоять из 1 слов;\n- минимум 6 названий должны состоять из 2 слов;\n- остальные 8 названий могут состоять только из 1 или 2 слов — выбирай по качеству.\n\nНе используй названия с другим количеством слов.\n</word_count_rules>",
    "basic_presets_rule": "Если среди активных пресетов есть wordplay:\nминимум 20% выдачи, то есть минимум 4 из 20.\n\nЕсли среди активных пресетов есть multilayer:\nминимум 10% выдачи, то есть минимум 2 из 20.\n\nОставшиеся слоты распределяй максимально равномерно между остальными активными пресетами.\n\nЕсли после округления остаются свободные слоты:\nдобавляй их к самым перспективным пресетам для конкретной сферы бизнеса.\n\nЕсли технические ограничения мешают выполнить креативный пресет:\nсначала соблюдай технические ограничения, затем подбирай ближайшую креативную механику.",
    "creative_presets_task": "<creative_presets_task>\nТеперь сгенерируй названия с учётом выбранных креативных пресетов.\n\nВажно:\nпресет — это не обязательное свойство всех 20 названий.\nКаждый пресет должен применяться только к своей части выдачи согласно квотам.\n\nВсего нужно сгенерировать ровно 20 названий.\n\nВыбранные пресеты:\n- Игра слов (wordplay)\n- Многослойность (multilayer)\n- Молодёжное / современное (modern_youth)\n\nКвоты по пресетам:\n- Игра слов (wordplay): 4 из 20\n- Многослойность (multilayer): 2 из 20\n- Молодёжное / современное (modern_youth): 14 из 20\n\nДля каждого названия укажи, к какому основному пресету оно относится.\nОдно название может иметь дополнительные признаки других пресетов, но основной пресет должен быть один.\n\nНе делай все названия в одном стиле.\nЦель пресетов — разнообразие, расширение креативного поля и повышение качества выдачи.\n\nЕсли название одновременно подходит под несколько пресетов, выбери тот пресет, под квоту которого оно засчитывается.\n</creative_presets_task>\n\n<preset_distribution_rules>\nСоблюдай распределение названий по пресетам.\n\nПравила:\n1. Сгенерируй ровно столько названий для каждого пресета, сколько указано в - Игра слов (wordplay): 4 из 20\n- Многослойность (multilayer): 2 из 20\n- Молодёжное / современное (modern_youth): 14 из 20.\n2. Не превышай и не занижай квоту без необходимости.\n3. Если для какого-то пресета невозможно создать качественный вариант из-за технических ограничений, замени его ближайшим вариантом, но явно укажи это в поле \"preset_note\".\n4. Названия внутри одного пресета не должны быть однотипными.\n5. Если пресет предполагает юмор, игру слов или культурные отсылки, не копируй длинные известные фразы дословно — адаптируй их под сферу бизнеса.\n6. Если выбран язык названия, культурные отсылки должны соответствовать этому языку и культурной среде.\n7. Если выбрано два языка, распределение пресетов должно по возможности сохраняться внутри каждого языка.\n</preset_distribution_rules>",
    "preset_rules": {
      "wordplay": "<preset id=\"wordplay\" name=\"Игра слов\">\nСоздавай названия на основе каламбуров, двойных значений, скрытых смыслов, переосмысленных выражений и культурных отсылок.\n\nЧто использовать:\n- каламбуры;\n- омонимы и похожие по звучанию слова;\n- двойное прочтение;\n- лёгкие смысловые ловушки;\n- переделанные пословицы и поговорки;\n- короткие популярные выражения;\n- рекламные слоганы, переосмысленные под сферу бизнеса;\n- фразы из массовой культуры;\n- короткие узнаваемые фразы из фильмов;\n- короткие строки или ритмические конструкции из песен, но не копировать длинные строки дословно;\n- для русского языка можно использовать советские фильмы, советские песни, крылатые фразы и бытовые присказки;\n- для английского, немецкого, французского и испанского — использовать более универсальные мировые культурные паттерны и узнаваемые выражения на выбранном языке.\n\nКак делать:\n1. Найди ключевые слова, ассоциации и действия из сферы бизнеса.\n2. Найди созвучные или культурно знакомые выражения.\n3. Замени одно ключевое слово в известной конструкции на слово, связанное со сферой бизнеса.\n4. Сделай название коротким, запоминаемым и пригодным для бренда.\n5. Не делай шутку слишком сложной: она должна считываться быстро.\n\nХорошее название в этом пресете:\n- имеет двойное дно;\n- вызывает улыбку или узнавание;\n- связано со сферой бизнеса;\n- не выглядит как случайная шутка;\n- может работать как бренд.\n\nПлохое название:\n- непонятный каламбур;\n- слишком длинная переделанная фраза;\n- фраза, где сфера бизнеса просто вставлена механически;\n- название, которое смешное, но небрендовое;\n- название, которое требует длинного объяснения.\n</preset>",
      "multilayer": "<preset id=\"multilayer\" name=\"Многослойность\">\nСоздавай названия, в которых есть 2–3 смысловых слоя.\n\nСтруктура хорошего многослойного названия:\n1. Первый слой — простое и понятное прочтение для обычного человека.\n2. Второй слой — смысл для тех, кто понимает сферу бизнеса, аудиторию, проблему или продукт.\n3. Третий слой — неожиданный поворот, ирония, контраст или более глубокая метафора.\n\nЧто использовать:\n- профессиональные термины, но в мягкой форме;\n- метафоры из сферы бизнеса;\n- слова с несколькими значениями;\n- культурные или отраслевые намёки;\n- скрытую пользу продукта;\n- контраст между простым звучанием и глубоким смыслом;\n- игру между буквальным и переносным значением.\n\nКак делать:\n1. Определи главную пользу бизнеса.\n2. Определи скрытый инсайт аудитории.\n3. Найди слово или короткую фразу, которая может одновременно отражать пользу, сферу и дополнительный смысл.\n4. Сделай название таким, чтобы оно работало даже без объяснения, но становилось сильнее после объяснения.\n\nХорошее название:\n- понятно на поверхности;\n- имеет второй смысл для тех, кто в теме;\n- звучит как бренд;\n- не выглядит как ребус;\n- может быть объяснено в 1–2 коротких предложениях.\n\nПлохое название:\n- слишком интеллектуальное;\n- непонятное без расшифровки;\n- требует знания редкого факта;\n- выглядит как внутренний мем, который поймут только авторы.\n</preset>",
      "modern_youth": "<preset id=\"modern_youth\" name=\"Молодёжное / современное\">\nСоздавай названия в современном стиле, похожие по вайбу на актуальные бренды в заданной сфере.\n\nВажно:\nне копируй названия существующих компаний.\nНужно уловить стиль, структуру, ритм и механику современного нейминга в этой нише.\n\nЧто использовать:\n- короткие слова;\n- простые сильные слоги;\n- минималистичные формы;\n- неологизмы;\n- разговорность;\n- мягкую дерзость;\n- tech/startup-style, если сфера технологичная;\n- lifestyle-style, если сфера потребительская;\n- локальный современный стиль выбранного языка;\n- необычные окончания, если они типичны для сферы;\n- формы, которые легко смотрятся в приложении, логотипе, домене и соцсетях.\n\nКак делать:\n1. Представь, как называются современные компании в этой сфере.\n2. Выдели общую механику: коротко, дерзко, мягко, технологично, иронично, премиально или дружелюбно.\n3. Создай новые названия в похожем стиле, но без копирования.\n4. Проверяй, что название не выглядит устаревшим.\n5. Не используй искусственный “молодёжный” тон, если он звучит кринжово.\n\nХорошее название:\n- звучит актуально;\n- легко смотрится в интерфейсе;\n- короткое и брендопригодное;\n- не похоже на старый офлайн-бизнес;\n- может работать в соцсетях.\n\nПлохое название:\n- притворяется молодёжным;\n- перегружено сленгом;\n- выглядит как никнейм школьника;\n- быстро устареет;\n- не связано со сферой бизнеса.\n</preset>"
    }
  },
  "businessSentence": "Сервис подбора названий для новых компаний и продуктов",
  "languages": [
    "RU",
    "EN",
    "OTHER",
    "DE"
  ],
  "otherLanguage": "",
  "useLengthLimit": true,
  "lengthMin": 5,
  "lengthMax": 8,
  "wordCountMode": "1-2",
  "useExtra": true,
  "desiredRoots": [
    "nova",
    "spark"
  ],
  "forbiddenRoots": [
    "cheap",
    "copy"
  ],
  "creativePresets": [
    "wordplay",
    "multi-layered",
    "modern"
  ],
  "priceRub": 500
}

JSON, который webhook может вернуть обратно

Поддерживаются как массивы строк, так и массивы объектов с метаданными

INBOUND ← webhook response
ПолеТипОписание
namesArray<string | object>Массив названий
textstringТекст названия
explanationstringПояснение, почему это название предложено
source_modelstringКакая модель вернула вариант
scorenumberЧисловая оценка варианта

Пример JSON

{
  "names": [
    {
      "text": "NovaFlow",
      "explanation": "Комбинация новизны, движения и мягкого технологичного звучания",
      "source_model": "gpt-5.4",
      "score": 0.91
    },
    {
      "text": "Sparkora",
      "explanation": "Название про запуск, энергию и развитие продукта",
      "source_model": "claude-opus-4-6",
      "score": 0.88
    }
  ]
}

Refine по выбранным названиям

Если пользователь выбрал понравившиеся варианты и хочет ещё один прогон

POST /api/v1/sessions/{id}/refine
ПолеТипОписание
likedNameIdsstring[]ID выбранных карточек
commentstringДополнительный комментарий для новой генерации

Пример JSON

{
  "likedNameIds": [
    "name_1",
    "name_2",
    "name_3"
  ],
  "comment": "Сделайте звучание чуть более премиальным и международным"
}

Проверка ФИПС и доменных зон

Проверка выбранных названий после генерации

POST /api/v1/sessions/{id}/check-availability
ПолеТипОписание
nameIdsstring[]Какие названия проверять
tldsstring[]Массив доменных зон (.ru, .com и т.д.)
customTldstringДополнительная кастомная зона
checkFipsbooleanПроверять ли по ФИПС

Пример JSON

{
  "nameIds": [
    "name_1",
    "name_2"
  ],
  "tlds": [
    ".ru",
    ".com",
    ".org"
  ],
  "customTld": ".io",
  "checkFips": true
}