Крупный застройщик с каталогом 1000+ объектов тратил 3 дня на написание объявлений под 5 порталов. После внедрения нашего AI-генератора время сократилось до 2 часов. Проблема знакома каждому риелтору и застройщику: ручные описания шаблонны, покупатели их пролистывают, менеджеры тратят часы на правки. Мы разработали AI-генератор, который за секунды создаёт уникальные описания на основе характеристик, фотографий и геолокации. Наш опыт в NLP и Computer Vision позволяет адаптировать решение под любой портал — ЦИАН, Авито, Яндекс.Недвижимость и зарубежные площадки. Модель GPT-4o с Vision API анализирует до 5 фото, определяет состояние ремонта, материалы отделки, особенности планировки. Результат — конкретное описание без клише. Мы используем промпт-инжиниринг с системным сообщением, которое задаёт стиль компании и исключает пустые прилагательные. Запросите демо-версию генератора для вашего каталога.
Как AI генерирует описание по фото?
На вход подаются структурированные данные (тип, площадь, этаж, адрес, цена, удобства) и до 5 фотографий. Модель GPT-4o объединяет текстовые и визуальные признаки: по фото определяет качество ремонта, материалы, планировку; из данных берёт метраж и расположение. Промпт настроен так, чтобы первым абзацем шла ключевая информация (размер, локация, состояние), а описание содержало конкретные факты, а не «прекрасная квартира».
from openai import AsyncOpenAI
from dataclasses import dataclass
client = AsyncOpenAI()
@dataclass
class PropertyData:
property_type: str # apartment, house, commercial, land
deal_type: str # sale, rent
rooms: int
area: float # м²
floor: int
total_floors: int
address: str
district: str
metro_distance: int # минут пешком
price: float
renovated: bool
amenities: list[str] # балкон, паркинг, лифт, кладовая...
year_built: int = None
ceiling_height: float = None
async def generate_property_listing(
property_data: PropertyData,
portal: str = "cian",
tone: str = "professional"
) -> dict:
PORTAL_CONFIGS = {
"cian": {"max_title": 100, "max_desc": 4000},
"avito": {"max_title": 80, "max_desc": 3000},
"yandex_realty": {"max_title": 100, "max_desc": 4000},
}
config = PORTAL_CONFIGS.get(portal, PORTAL_CONFIGS["cian"])
amenities_str = ", ".join(property_data.amenities)
response = await client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "system",
"content": f"""Ты — риелтор, пишущий продающие объявления для {portal}.
Стиль: конкретный, без воды, цифры и факты.
Первый абзац — самое важное (размер, локация, состояние).
НЕ пиши: "прекрасная квартира", "великолепный вид", пустые прилагательные.
Заголовок: до {config['max_title']} символов.
Описание: до {config['max_desc']} символов.
Верни JSON: {{title, description, key_features (3-5 фактов)}}"""
}, {
"role": "user",
"content": f"""
Тип: {property_data.property_type}, {property_data.deal_type}
Комнат: {property_data.rooms}, Площадь: {property_data.area} м²
Этаж: {property_data.floor}/{property_data.total_floors}
Адрес: {property_data.address}, {property_data.district}
До метро: {property_data.metro_distance} мин пешком
Ремонт: {'есть' if property_data.renovated else 'требуется'}
Удобства: {amenities_str}
{'Год постройки: ' + str(property_data.year_built) if property_data.year_built else ''}
"""
}],
response_format={"type": "json_object"}
)
return json.loads(response.choices[0].message.content)
Анализ фото через Vision API
async def describe_from_photos(photo_urls: list[str], property_type: str) -> str:
"""Анализируем фото квартиры, описываем состояние"""
image_contents = [
{"type": "image_url", "image_url": {"url": url}}
for url in photo_urls[:5]
]
response = await client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": f"Опиши состояние {property_type} по фото. Укажи: состояние ремонта, материалы отделки, особенности планировки, видимые преимущества. 3-4 предложения, конкретно."}
] + image_contents
}]
)
return response.choices[0].message.content
Почему автоматизация описаний выгодна?
Ручное написание одного объявления занимает 15–20 минут — при потоке 100 объектов в месяц это 30+ часов копирайтера. AI-генерация обрабатывает то же количество за 10 минут без потери качества. При этом экономия бюджета на копирайтинг достигает 90%. Сравнение:
| Параметр | Ручное описание | AI-генерация |
|---|---|---|
| Время на 1 объявление | 15–20 минут | 2–5 секунд |
| Стоимость за объявление | существенная | копеечная |
| Уникальность текста | зависит от копирайтера | гарантирована промптом |
| Адаптация под портал | вручную | автоматически |
| Анализ фото | отдельно | встроен |
AI-генерация в 15 раз быстрее человека при сопоставимом качестве. При этом мы гарантируем соответствие tone of voice компании и исключаем орфографические ошибки.
Как происходит batch-обработка каталога?
Для крупного застройщика с 500+ объявлениями необходима пакетная генерация. Мы используем asyncio.gather (см. документацию Python), чтобы обрабатывать объекты параллельно:
async def process_real_estate_catalog(
properties: list[dict],
portal: str = "cian"
) -> list[dict]:
generator_tasks = [
generate_property_listing(PropertyData(**p), portal=portal)
for p in properties
]
results = await asyncio.gather(*generator_tasks)
return [{"property": p, "listing": r} for p, r in zip(properties, results)]
Обработка каталога из 500 объектов занимает 15–30 минут. При этом стоимость генерации одного объявления ничтожна. Срок внедрения — от 2 недель на скрипт генерации и интеграцию с CRM. Конкретная стоимость рассчитывается индивидуально под объём каталога и требования к модели.
Какие типичные ошибки встречаются при внедрении?
Игнорирование лимитов порталов — заголовок урезается, описание обрезается. Как указано в спецификации API ЦИАН, заголовок объявления не должен превышать 100 символов. Мы в промпте жёстко задаём ограничения символов под каждый портал. Отсутствие fallback при отказе API — если GPT-4o недоступен, система переключается на резервную модель LLaMA 3 через собственный inference. Генерация без проверки фактов — модель может «додумать» этаж или площадь. Добавляем в промпт инструкцию строго опираться на предоставленные данные.
Процесс внедрения
- Аналитика: аудит текущих объявлений, сбор требований к формату и стилю.
- Проектирование: разработка промпта, настройка Vision API, подготовка скриптов batch-генерации.
- Реализация: написание кода генератора на Python с поддержкой async, интеграция с CRM через REST API.
- Тестирование: A/B-тест на 50 объявлениях, корректировка промпта по метрикам CTR.
- Деплой: развертывание на вашем сервере или в облаке, документирование, обучение команды.
Технические характеристики решения:
| Параметр | Значение |
|---|---|
| Модель по умолчанию | GPT-4o |
| Резервная модель | LLaMA 3 (inference) |
| Формат вывода | JSON (title, description, key_features) |
| Максимум фото | 5 на объект |
| Поддерживаемые порталы | ЦИАН, Авито, Яндекс.Недвижимость, Zillow, Realtor |
| Язык промпта | Русский (адаптация под другие языки) |
| Протокол интеграции | REST API / Webhook |
Что входит в работу
- Промпт-инжиниринг под ваш каталог и tone of voice.
- Код генератора на Python (async, поддержка batch).
- Интеграция с CRM (REST API, webhooks).
- Адаптация под 3 портала (ЦИАН, Авито, Яндекс.Недвижимость или любые другие) с поддержкой русского языка.
- Документация и обучение команды (2 часа вебинар + запись).
- Поддержка 1 месяц после деплоя.
Закажите пилотный проект — получите готовый скрипт за 2 недели. Свяжитесь с нами для оценки вашего каталога: мы подготовим демо-генерацию на 50 объектах бесплатно. Наш опыт — 5 лет в AI-разработке, более 20 проектов в сфере недвижимости. Получите консультацию по автоматизации ваших объявлений уже сегодня.







