Генерация описаний товаров с AI — это автоматическое создание уникальных, информативных и SEO-оптимизированных текстов для карточек товаров на маркетплейсах (Wildberries, Ozon, Яндекс Маркет) и в интернет-магазинах. AI позволяет обработать каталог из тысяч товаров за часы, а не за недели.
Промпт-инжиниринг для карточек товаров
Качество описания напрямую зависит от промпта. Вот проверенный шаблон:
from openai import OpenAI
client = OpenAI(
base_url="https://api.modelswitch.ru/v1",
api_key="msk_ваш_ключ"
)
def generate_product_card(
product_name: str,
specs: dict,
category: str,
platform: str = "Wildberries"
) -> dict:
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": f"""Ты — копирайтер для маркетплейса {platform}.
Сгенерируй карточку товара. JSON:
{{
"title": "заголовок до 100 символов с ключевыми словами",
"description": "описание 500-800 символов, продающий стиль",
"bullet_points": ["5-7 ключевых преимуществ"],
"seo_keywords": ["8-10 ключевых слов для поиска"],
"short_description": "краткое описание до 200 символов"
}}
Стиль: информативный, без воды, с конкретными выгодами для покупателя."""},
{"role": "user", "content": (
f"Товар: {product_name}
"
f"Категория: {category}
"
f"Характеристики: {specs}"
)}
],
temperature=0.6
)
return json.loads(response.choices[0].message.content)
result = generate_product_card(
product_name="Беспроводные наушники",
specs={"bluetooth": "5.3", "battery": "30 часов", "anc": True, "weight": "250g"},
category="Электроника / Наушники"
)
Пакетная обработка каталога
Для обработки большого каталога используйте асинхронные запросы с контролем rate limit:
import asyncio
from openai import AsyncOpenAI
async_client = AsyncOpenAI(
base_url="https://api.modelswitch.ru/v1",
api_key="msk_ваш_ключ"
)
async def process_catalog(products: list[dict], concurrency: int = 5) -> list[dict]:
semaphore = asyncio.Semaphore(concurrency)
results = []
async def process_one(product):
async with semaphore:
response = await async_client.chat.completions.create(
model="gpt-4o-mini", # Экономичная модель для массовой генерации
messages=[
{"role": "system", "content": "Сгенерируй описание товара. JSON: {"title": ..., "description": ...}"},
{"role": "user", "content": str(product)}
],
temperature=0.7
)
return json.loads(response.choices[0].message.content)
tasks = [process_one(p) for p in products]
results = await asyncio.gather(*tasks)
return results
# Обработка 1000 товаров за ~15 минут
catalog = [{"name": "Товар 1", "specs": {...}}, ...]
descriptions = asyncio.run(process_catalog(catalog))
SEO-оптимизация описаний
AI может генерировать тексты, оптимизированные под поисковые запросы:
def generate_seo_text(product: dict, target_keywords: list[str]) -> str:
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": f"""Напиши SEO-оптимизированный текст для карточки товара.
Целевые ключевые слова: {', '.join(target_keywords)}
Требования:
- Длина: 1000-1500 символов
- Ключевые слова в первом абзаце
- Подзаголовки H2 с ключевыми словами
- Естественное вхождение ключей (плотность 2-3%)
- Уникальность текста > 90%"""},
{"role": "user", "content": str(product)}
],
temperature=0.5
)
return response.choices[0].message.content
Стоимость и ROI
| Объём каталога | Модель | Стоимость | Время |
|---|---|---|---|
| 100 товаров | gpt-4o | ~$2 | ~10 мин |
| 1 000 товаров | gpt-4o-mini | ~$3 | ~30 мин |
| 10 000 товаров | gpt-4o-mini | ~$30 | ~3 часа |
Сравните со стоимостью копирайтера: ~50-100 руб. за описание, то есть 10 000 товаров = 500 000-1 000 000 руб. AI через ModelSwitch обойдётся в ~2 500 руб. за тот же объём. ROI — более 10 000%.