Руководство по использованию
Claude Opus 5.5 для электронной коммерции: написание текстов и ответы службы поддержки
Согласно собственной карточке модели claude-opus-5-5 на hiapi, входная и выходная модальности указаны как text — генерации изображений нет, и о вводе изображений тоже не упоминается. Поэтому, когда в требованиях появляется «изображение товара», честный ответ такой же, как и для любой чисто текстовой LLM: использован не тот инструмент. В сценарии интернет-магазина он действительно силён в написании текстов: описаний товаров, текстов для карточек товаров и ответов службы поддержки. У него также есть параметр reasoning, с которым большинство никогда не сталкивалось, и у этого параметра есть реальный, оплачиваемый побочный эффект, о котором стоит узнать до того, как вы подключите его к производственному конвейеру. Ниже — четыре реальных вызова API hiapi с реальными выводами, реальными подсчётами токенов и одной ловушкой, обнаруженной за реальные деньги.
Параметр reasoning.effort и что он вам на самом деле даёт
Карточка модели claude-opus-5-5 перечисляет пять уровней reasoning effort: low, medium, high, xhigh, max. Структура запроса выглядит так:
curl https://api.hiapi.ai/v1/chat/completions \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 500,
"reasoning": {"effort": "high"},
"messages": [
{"role": "system", "content": "You are an e-commerce copywriter. Write a 60-word product description. No superlatives."},
{"role": "user", "content": "Product: insulated water bottle. 750ml, stainless steel, double-wall vacuum insulation, leak-proof lid, matte finish. Keeps drinks cold 24h, hot 12h."}
]
}'
Ещё две структуры запроса тоже выглядят разумно, но обе завершаются ошибкой: поле верхнего уровня reasoning_effort и нативный для Anthropic блок thinking: {"type": "enabled", "budget_tokens": ...} возвращают invalid_request. На этом маршруте единственная рабочая структура — reasoning: {"effort": "..."}.
Первоначальная гипотеза была такой: более высокий уровень effort тратит больше токенов в обмен на более глубоко продуманный ответ. С абсолютно одинаковым промптом на описание из 60 слов, отправленным при max_tokens: 500 с minimal (недокументированный, подробности ниже), low, medium, high и max, результат оказался иным:
| effort | prompt_tokens | completion_tokens | finish_reason |
|---|---|---|---|
| minimal | 130 | 499 | stop |
| low | 130 | 499 | stop |
| medium | 130 | 499 | stop |
| high | 130 | 499 | stop |
| max | 130 | 499 | stop |
Каждый уровень для одного и того же промпта был оплачен как ровно 499 completion token. Не примерно — абсолютно одинаково. Менялось только содержание текста:
minimal: Оставайтесь гидратированными где угодно с этой бутылкой из нержавеющей стали на 750 мл. Двойная изоляция сохраняет напитки холодными 24 часа и горячими 12 часов, так что от горной тропы до спортзала ваша вода остаётся свежей. Герметичная крышка плотно закрывается в рюкзаке, матовая поверхность устойчива к царапинам и удобно лежит в руке. Без BPA, прочная, подходит для любой тренировки и приключений на природе.
high: Термобутылка из нержавеющей стали, 750 мл. Создана для длинных горных троп и ещё более долгих тренировок. Двойная изоляция из нержавеющей стали сохраняет напитки холодными 24 часа или горячими 12 часов, так что ваша вода остаётся свежей до последнего глотка. Герметичная крышка плотно закрывается в рюкзаке или спортивной сумке. Матовая поверхность устойчива к износу и не боится потных рук. 750 мл хватает на всю поездку на велосипеде, не утяжеляя вас лишним весом.
high добавил строку заголовка жирным шрифтом и перестроил порядок преимуществ; minimal сразу перешёл к преимуществам. Оба уложились в 60 слов, оба соблюли правило «без превосходных степеней», и стоили одинаково. low и medium расположились между ними, со всё меньшей структурой. Обратите внимание, что minimal на самом деле не входит в документированный список из пяти уровней — он не был отклонён, но недокументированные значения следует считать неподдерживаемыми, а не полагаться на них в производстве; используйте один из перечисленных пяти (low/medium/high/xhigh/max).
Настоящий урок: reasoning.effort меняет стиль, а не цену. При фиксированном max_tokens стоимость зависит от установленного вами лимита, а не от строки effort. Если вы бюджетируете конвейер текстов по уровню effort, полагая, что low — это дешёвый вариант, то это не так — max_tokens единственный рычаг, который меняет счёт.
Ловушка: reasoning незаметно съедает ваш бюджет max_tokens
У открытия «стоимость зависит от max_tokens» есть острый побочный эффект. claude-opus-5-5 выполняет внутренние рассуждения перед тем, как написать видимый ответ, и эти внутренние рассуждения используют тот же лимит max_tokens, что и сам ответ. Если повысить effort, не подняв лимит, модель может исчерпать бюджет на полпути к ответу — или ещё до того, как напишет хоть что-то видимое.
Первый случай: на обычном промпте для копирайтинга с effort: xhigh и max_tokens: 500:
curl https://api.hiapi.ai/v1/chat/completions \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 500,
"reasoning": {"effort": "xhigh"},
"messages": [
{"role": "system", "content": "You are an e-commerce copywriter. Given a product spec, write a title (max 70 characters), 3 bullet features, and a 2-3 sentence description. No superlatives, no exclamation marks."},
{"role": "user", "content": "Product: insulated travel mug. Material: 18/8 stainless steel, double-wall vacuum insulation. Capacity: 16oz. Lid: leak-proof slide lock. Keeps drinks hot 6 hours, cold 12 hours."}
]
}'
Фактический ответ, без редактирования — он обрывается посреди предложения:
Заголовок: Термокружка из нержавеющей стали 16oz с герметичной крышкой-слайдером
Особенности:
- Сохраняет тепло и холод: Двойная вакуумная изоляция сохраняет напитки горячими 6 часов и холодными 12 часов.
- Прочная конструкция: Изготовлена из нержавеющей стали 18/8, устойчива к ржавчине и не удерживает посторонние запахи.
- Герметичная крышка: Слайдер герметично закрывает отверстие, так что вы можете бросить кружку в сумку, не беспокоясь о проливании.
Описание: Эта термокружка на 16oz с двойной вакуумной изоляцией сохраняет ваш кофе горячим всё утро, или ваш
finish_reason: "length", оплачено 500 completion token, а придаточное предложение описания обрывается на «или ваш» — без завершающей пунктуации, без ошибки, без поля предупреждения. Конвейер, который проверяет только HTTP 200, опубликует эту половину предложения прямо на странице товара.
Второй случай ещё хуже: промпт для ответа службы поддержки с max_tokens: 300 и reasoning по умолчанию вернул полностью пустой ответ.
{
"finish_reason": "length",
"usage": {"prompt_tokens": 157, "completion_tokens": 300, "total_tokens": 457},
"message": {"content": "", "reasoning_details": [{"text": "", "type": "reasoning.text"}]}
}
content — пустая строка. Поле reasoning_details подтверждает причину: модель потратила весь бюджет в 300 токенов на внутренние рассуждения ("text": "" — даже трасса рассуждений не раскрыта, только непрозрачный зашифрованный блок signature), и не осталось места для написания фактического ответа. hiapi всё равно оплатил тот вызов как все 300 completion token — вы платите за рассуждения независимо от того, появился ли видимый ответ.
Исправление в обоих случаях одинаковое: устанавливайте max_tokens с реальным запасом сверх того, что нужно для видимого ответа, особенно при high/xhigh/max effort. И не доверяйте finish_reason: "stop" как доказательству хорошего ответа — перед записью в базу данных проверяйте, что content не пуст и действительно выражает законченную мысль.
Сценарий использования: составление ответов службы поддержки
Передайте ему вашу политику и реальное сообщение клиента:
curl https://api.hiapi.ai/v1/chat/completions \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 400,
"reasoning": {"effort": "medium"},
"messages": [
{
"role": "system",
"content": "You are a customer support agent for an online water bottle store. Policy: 30-day return window from delivery. Manufacturing defects reported after the window should be referred to the manufacturer'\''s own warranty. Reply in under 100 words, empathetic but concise, end with a clear next step."
},
{
"role": "user",
"content": "I bought a water bottle 35 days ago and the seal is already leaking. Can I get a refund or exchange?"
}
]
}'
Фактический ответ, без редактирования:
Мне жаль, что у вас протекает уплотнитель. Поскольку прошло 35 дней, заказ выходит за пределы нашего 30-дневного срока возврата, поэтому я не могу оформить возврат или обмен через нас. Многие бренды бутылок для воды предоставляют гарантию на дефекты уплотнителя при нормальной эксплуатации, поэтому я рекомендую вам обратиться напрямую к производителю. Если вы предоставите номер заказа, я смогу отправить вам данные бренда, чтобы помочь вам подать претензию.
Он правильно применил точный граничный случай из политики — 35 дней превышают 30-дневный срок, поэтому он отказал в прямом возврате и перенаправил к гарантии производителя, вместо того чтобы просто извиниться и всё равно предложить возврат. 277 completion token, finish_reason: "stop", ответ полный, без обрыва. Это та же модель, тот же аккаунт и тот же medium effort, что и в таблице выше, — разница здесь в том, что max_tokens: 400 дал достаточно места, чтобы и рассуждать, и ответить.
Визуальные возможности работают, хотя карточка модели говорит обратное
Ещё один реально проверенный сюрприз: карточка модели claude-opus-5-5 указывает Input modalities: text — ввод изображений нигде не упоминается. Но отправить ему изображение всё равно работает:
curl https://api.hiapi.ai/v1/chat/completions \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 150,
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "In one sentence, what is in this photo?"},
{"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}
]
}]
}'
Фактический ответ, без редактирования (обрезан тем же механизмом max_tokens, что упомянут выше — 150 не хватило):
Это аккуратно разложенная раскладка мужских повседневных аксессуаров на серой поверхности, включающая чёрный кошелёк на молнии, пару очков-авиаторов, твидовую бабочку, блокнот
Он правильно прочитал фотографию. Указание модальности «text» в карточке модели для этого маршрута неверно или как минимум неполно — это тот же образец «карточка не соответствует реальности», с которым столкнулась статья о claude-opus-4-8 в своих заявлениях о визуальных возможностях. Не стройте конвейеры, которые ограничивают себя на основе опубликованного списка модальностей; как и с параметром reasoning выше, отправляйте реальные запросы и читайте реальные ответы.
Примечание о стоимости
Девять реальных вызовов, все оплачены по единому маршруту claude-opus-5-5 (для этой модели не существует вариантов -aws или иных ценовых вариантов, в отличие от claude-opus-4-8), рассчитанных по странице цен hiapi — $2.02 за миллион входных токенов и $10.08 за миллион выходных токенов:
| Вызов | prompt_tokens | completion_tokens | Стоимость |
|---|---|---|---|
| Таблица effort × 5 (minimal/low/medium/high/max) | 650 | 2,495 | $0.0264 |
| Ловушка обрыва xhigh | 185 | 500 | $0.0054 |
| Ловушка пустого ответа | 157 | 300 | $0.0033 |
| Ответ службы поддержки | 3,590 | 277 | $0.0100 |
| Тест зрения | 690 | 150 | $0.0029 |
| Итого | 5,272 | 3,722 | $0.0482 |
Здесь нет никакой генерации изображений — claude-opus-5-5 не генерирует изображения, поэтому каждый доллар выше — это стоимость токенов, а две строки «ловушек» заслуживают дополнительного резерва бюджета: они заплатили реальные деньги за обрезанные или полностью пустые выходные данные.
Часто задаваемые вопросы
Может ли claude-opus-5-5 генерировать изображения товаров? Нет. Его карточка модели перечисляет только текстовые модальности ввода и вывода, и каждый ответ выше — текст. Если задача действительно в генерации новых фотографий товаров, для этого нужна модель генерации изображений, а не эта.
Стоит ли больше reasoning.effort дороже?
Сам по себе — нет. При фиксированном max_tokens пять документированных уровней в тесте выше оплачивались по абсолютно одинаковому количеству completion token — effort меняет текст, а не количество токенов. Действительно дороже становится повышение max_tokens, дающее более высокому уровню effort место и для рассуждений, и для ответа.
Почему я получил пустой ответ без ошибки?
max_tokens оказался слишком низким для внутренних рассуждений, которые модель проводит перед написанием. Это не баг — finish_reason покажет "length", вы всё равно заплатите за полное количество токенов, но content может вернуться пустым или обрезанным. Всегда проверяйте, что content не пуст и полон, а не только что вызов вернул 200.
Действительно ли он поддерживает ввод изображений?
Да, подтверждено отправкой реального изображения в запросе выше и получением точного описания — хотя собственная карточка модели указывает text как единственную входную модальность.
Начало работы
Чтобы попробовать самому: нужен ключ API hiapi, страница модели claude-opus-5-5 (проверьте текущие цены и полный список reasoning-effort), а если вы сравниваете чисто текстовые модели для той же рабочей нагрузки с текстами для электронной коммерции и службой поддержки, статья о claude-opus-4-8 охватывает то же самое на предыдущем поколении Opus — прежде чем переключать производственный конвейер, стоит проверить, оправдывает ли компромисс max_tokens/reasoning выше обновление.
Похожие статьи
Все статьи →-
Руководство по использованию
Руководство по началу работы с seedream-5.0-pro/image-to-image: возможности, цены и ключевые моменты интеграции
Границы возможностей модели редактирования изображений ByteDance, принципы тарификации и практика инженерной интеграции
-
Руководство по использованию
Руководство по использованию seedream-5.0-pro text-to-image: границы возможностей, интеграция API и контроль затрат
Практический взгляд для разработчиков: от ключевых параметров до оценки стоимости $0.05 за изображение
-
Руководство по использованию
Руководство по началу работы с Hailuo 2.3 Fast для генерации видео из изображений: границы возможностей, цены и практика интеграции
Ключевые моменты выбора и интеграции модели MiniMax для генерации видео из изображений для разработчиков