# Модели и цены TextMachine (Р4/Р5: состав и цены — ТОЛЬКО здесь, с датой # проверки; код не знает ни одной цены). # # ⚠ ПЕРЕ-ПИН DeepSeek 2026-08-15 (вендор-сессия, строка 172 / D39.136). Вендор ввёл # TIME-BASED прайсинг, наша схема цены ПЛОСКАЯ и его НЕ выражает → пишем ПИКОВЫЕ цены: # потолок срабатывает раньше, а не позже; переплата резерва в офф-пик — осознанная цена # простоты. Сноска (1) прайс-страницы, дословно (факт-чек 2026-08-15): # «DeepSeek API pricing will be updated to peak / off-peak billing, with off-peak rates at # half the peak rates. Peak hours are 01:00 - 04:00 and 06:00 - 10:00 UTC (all other hours # are off-peak). The new prices take effect at 16:00 UTC on August 16, 2026» # https://api-docs.deepseek.com/quick_start/pricing (таблица там же) · анонс 13.08 # https://api-docs.deepseek.com/news/news260813 + вендор-картинка /img/v4_260813_price_en.png # ПИК за 1M (в таблицу ниже): flash $0.44 in / $1.32 out / cache-hit $0.014 · pro $1.32 / $3.96 / $0.044 # ОФФ-ПИК ровно ½ (НЕ пишем): flash $0.22 / $0.66 / $0.007 · pro $0.66 / $1.98 / $0.022 # Цены ЗАПИСИ в кэш у вендора нет ни на прайс-странице, ни в guides/kv_cache → cache_write_per_m: 0. # ⚠ prices_checked бампнут по факт-чеку ТОЛЬКО DeepSeek — у остальных строк проверка # 2026-07-10 (ниже), и их 120-дневный счётчик свежести уехал вместе с общим полем (пинг сдан). # # Источники проверки 2026-07-10 (D3-цепочка/канал B заведены пакетом №3; каждый # слаг live-фактчекнут — /models И пробный вызов, правило двух направлений): # DeepSeek ↑ СУПЕРСИДНУТО пере-пином 2026-08-15 (было v4-pro $0.435/$0.87, cache-hit $0.003625) # Z.AI/GLM https://docs.z.ai/guides/overview/pricing (glm-5.1 $1.4/$4.4, cached $0.26) # Kimi https://platform.kimi.ai/docs/pricing/chat-k26 # xAI https://docs.x.ai/docs/models (Grok 4.1 Fast retired 15.05.2026!) # Gemini https://ai.google.dev/gemini-api/docs/pricing (3.1-pro-preview $2/$12 ≤200k, cache $0.20, output incl. thinking) # Mistral https://mistral.ai/pricing/api (Large 3 = mistral-large-2512 $0.5/$1.5; FAQ "$2/$6" = legacy Large 2) # OpenAI https://developers.openai.com/api/docs/models/gpt-5-mini (gpt-5-mini $0.25/$2.0, cached $0.025) # Live-факты пакета №3 (2026-07-10, все HTTP 200 пробным вызовом, кроме отмеченного): # • gemini-3.1-pro → 404 NOT_FOUND; callable слаг ТОЛЬКО gemini-3.1-pro-preview (D3-текст назвать -preview — пинг). # • Gemini thinking-токены НЕ в completion_tokens (проба: completion=2, total=847 → 823 thinking в total_tokens, # поля reasoning_tokens нет) → провайдер gemini reasoning:additive_total (адаптер деривит reasoning=total−prompt−completion, # иначе mistral-класс слепоты потолка на mandatory-thinking апексе). # • gpt-5-mini жив пробой (→ dated gpt-5-mini-2025-08-07), но снят с прайс-страницы (там gpt-5.4/5.5/5.6); кандидат D3, не в цепочке Ф1. prices_checked: "2026-08-15" # Fallback-якорь цены: неизвестная модель (например, фактическая модель после # фейловера, которой нет в таблице) книжится по этой цене, никогда по $0. default_model: deepseek-v4-flash providers: deepseek: kind: openai base_url: https://api.deepseek.com/v1 api_key_env: DEEPSEEK_API_KEY reasoning: subset # thinking внутри completion_tokens # ⚠️ ЭХО-МИНА (трасса 2026-07-04, PROGRESS «Ответ Полигону»): на плотном CJK # DeepSeek с thinking ВЫКЛ воспроизводимо возвращает ИСХОДНИК вместо перевода # (тихий отказ, HTTP 200). Держится только тем, что reasoning:"off" через # ReasoningNone — осознанный no-op (thinking остаётся ON по дефолту). Флаг # включает fail-fast (config.echoMineViolation): нельзя завести deepseek # capabilities.reasoning.off_extra_body:{thinking:{type:disabled}} — включит # эхо в проде. ⚠️ ПОПРАВКА пака-17: оговорка «GLM с thinking:disabled безопасен (вход — русский # черновик)» УСТАРЕЛА против D30.1 — редактор БИЛИНГВ, видит плотный CJK. Гейт echoMineViolation # по-прежнему не стреляет по zai (флаг стоит только здесь), но экспозиция НЕ измерена: загрузка # предупреждает громко (runner.sourceEchoExposure), ловит гейт эха (D19.2). Обобщение D19.1 п.2 на # xai в ДАННЫЕ не вносил осознанно — это сняло бы grok-off-выключатель, чья цена (grok думает по # дефолту, additive) — решение владельца, а не сессии. echoes_when_thinking_off: true timeouts: { attempt_s: 240, max_attempts: 3, backoff_cap_s: 60 } zai: # GLM, международный контур (docs.z.ai) kind: openai base_url: https://api.z.ai/api/paas/v4 api_key_env: ZAI_API_KEY reasoning: subset timeouts: { attempt_s: 240, max_attempts: 3, backoff_cap_s: 60 } kimi: # API-хост — api.moonshot.ai (intl, НЕ .cn). Веб-консоль переехала # platform.moonshot.ai → platform.kimi.ai, но API-эндпоинт остаётся # api.moonshot.ai: api.kimi.ai НЕ резолвится (DNS fail, live-проба 2026-07-04 # /models: 000; moonshot.ai → 200 c kimi-k2.6). Прежний base_url был битый. kind: openai base_url: https://api.moonshot.ai/v1 api_key_env: KIMI_API_KEY reasoning: subset timeouts: { attempt_s: 240, max_attempts: 3, backoff_cap_s: 60 } xai: # Grok — главный тир канала B (18+) + судья 18+; из редакторских ролей СНЯТ (D30.1 — reasoning-off no-op). # ⚠️ КЛЮЧЕВАЯ ПОЛИТИКА (D27, супрсидит «чистый ключ» D19.4/D20.3): ЕДИНЫЙ XAI_API_KEY С data-sharing # (промо) идёт на ВСЕ тесты И пилот И прод; data-sharing ОТКЛЮЧАЕТСЯ перед релизом (сверить механику # с вендор-докой — чек-лист первого боевого прогона). Риски приняты владельцем (копирайт 蛊真人 в обучение — # только свои тесты, для клиентских книг НИКОГДА; NSFW-история аккаунта). По ключу не проверяется. kind: openai base_url: https://api.x.ai/v1 api_key_env: XAI_API_KEY reasoning: additive # xAI биллит reasoning ПОВЕРХ completion (проверено vojo); think-ON заблокирован до резерва в EstimateUSD (D6.2/F3) # СПОСОБНОСТЬ ПО КОНТЕНТУ (D39.25/D39.26). Флаг `permissive: true` ОТСТАВЛЕН (падает громко): # вместо булева «можно 18+» endpoint объявляет, КАКИЕ лейблы ему разрешено ПОЛУЧАТЬ, и книга # маршрутизируется только в модели, чей набор её лейблы покрывает. Значения — ДАННЫЕ; движок не # знает ни одного. ВОКАБУЛЯР РЕШЁН владельцем (D39.27): ПАРА `violence` / `sexually-explicit` — # она сохраняет ратифицированную развязку D14 п.1 (ToS DeepSeek запрещает sexually explicit, но # violence оставляет допустимым), то есть violence-книга не теряет dspro-редактора. # ФАКТЫ ДОБЫТЫ полигоном по первоисточникам и ПОДПИСАНЫ владельцем 25.07 (D39.29/D39.30); # цитаты — `experiments/00-provider-quirks.md` §«Право по ToS/AUP», вердикты даны ПЕР-ЛЕЙБЛУ. # xAI AUP (Effective 2026-06-26) + Enterprise ToS (Last Updated 2026-05-12): в сексуальной семье # названы только реальные лица (undressing/nudifying, порнографические подобия) и дети — взрослая # художественная эротика НЕ названа ⇒ право есть. `violence` НЕ выдан: слов violen* в AUP 0 вхождений # (чистое молчание, а молчание права не даёт). Пере-проверка: 2026-10-25 и перед первой explicit-книгой. accepts_labels: [sexually-explicit] # Эмпирика этого endpoint: главный пермиссив-тир канала B + reasoning-ON эскалация (D3/D19.1), # первичный судья эротики (D22.6). timeouts: { attempt_s: 240, max_attempts: 3, backoff_cap_s: 60 } # Anthropic убран из стека по решению владельца (04.07): дорого, в RU-контуре # экономически недоступен (Р5), в eval не валидирован. Судья Р4 — Gemini # (нативный адаптер, Фаза 2). Нативный Anthropic-адаптер в коде помечен # DEPRECATED, но НЕ удалён — оставлен как референс нативного адаптера под # Gemini Фазы 2 (см. provider_anthropic.go). Эскалация — не-Anthropic (Kimi/GLM). gemini: # Google Gemini через OpenAI-совместимый слой (base .../v1beta/openai). Апекс канала A + # судья violence/SFW Ф2 + премиум-эскалация редактора ЗА санитайзером (D30.1/30.3 — течёт преамбулой 6/6). # ⚠️ Как судья 18+ ЭРОТИКИ НЕПРИГОДЕН (D22.6/exp11: 8× PROHIBITED_CONTENT, фильтр неконфигурируем — native # НЕ спасает; первичный судья эротики = Grok). На violence/SFW Gemini-судья остаётся. OpenAI-слой достаточен # для перевода/эскалации (фильтры OFF по дефолту у 3.x, кроме неконфигурируемого PROHIBITED_CONTENT — D21.9). kind: openai base_url: https://generativelanguage.googleapis.com/v1beta/openai api_key_env: GEMINI_API_KEY # reasoning:additive_total — thinking у Gemini биллится как output, но в OpenAI-слое НЕ попадает в # completion_tokens и НЕ отдаётся полем reasoning_tokens (в отличие от xAI); виден ТОЛЬКО как # total_tokens−prompt−completion (live-проба 2026-07-10: completion=2, total=847 → 823 thinking). # Адаптер деривит их из total и биллит по output — иначе mandatory-thinking апекс слепил бы потолок. reasoning: additive_total # ⚠️ ОДНО системное сообщение на запрос. Конвейер строит ДВА (базовый промпт + инъекция банка # памяти, render.go MessagesWithInjection), и этот слой второе не проносит: инъекция — # глоссарий — пропадала БЕЗ ошибки, ответ приходил 200 и выглядел правильным переводом. # ВЕНДОР-ОСНОВАНИЕ (ai.google.dev/api/generate-content, страница помечена 2026-08-17, снято # 2026-08-28): в нативном GenerateContentRequest поле `systemInstruction` — ОДИН # `object (Content)` (в той же таблице `contents[]` и `tools[]` несут суффикс повторяемого # поля `[]`), а `Content.role` документирован как «Must be either 'user' or 'model'» ⇒ второму # системному ходу в нативном запросе места нет вовсе. Что делает с ним OpenAI-совместимый # шим, вендор НЕ документирует нигде (раздел «Current limitations» молчит и в живой странице, # и в снимке 2026-08-21). Наша проба ($0, полигон 22.08) устанавливает, что они НЕ # склеиваются и что инструкция ПЕРВОГО не исполняется; выживает ли второй — открыто и для # решения безразлично: при любом чтении, кроме «склеиваются», два системных теряют текст. # Поэтому склеиваем сами — это единственная форма, которая потерять не может. capabilities: system_messages: single timeouts: { attempt_s: 300, max_attempts: 3, backoff_cap_s: 60 } # апекс думает дольше openai: # OpenAI прямой ключ (D3: Anthropic убран, OpenAI ОСТАЁТСЯ). gpt-5-nano альт-черновик, # gpt-5-mini кандидат-редактор/second-opinion судья — НЕ в дефолтной цепочке Ф1 (слот под Ф2). kind: openai base_url: https://api.openai.com/v1 api_key_env: OPENAI_API_KEY reasoning: subset # gpt-5: reasoning_tokens ⊆ completion (OpenAI-спека), покрыто maxTokens timeouts: { attempt_s: 240, max_attempts: 3, backoff_cap_s: 60 } mistral: # Mistral La Plateforme (base api.mistral.ai/v1). Переводчик-дефолт канала B (D19.1): # 10/10 чисто на violence, policy 11.06.2026 без запрета adult, НЕ reasoning-модель → эхо-мины нет. kind: openai base_url: https://api.mistral.ai/v1 api_key_env: MISTRAL_API_KEY reasoning: subset # mistral-large — не thinking-модель; reasoning-токенов нет # ФАКТЫ ДОБЫТЫ и ПОДПИСАНЫ 25.07 (D39.29/D39.30; цитаты — `experiments/00-provider-quirks.md`). # Mistral Usage Policy (Effective 2026-06-11, хост `legal.mistral.ai`): названы CSAM, NCII # («intimate images … without the explicit consent»), sexual services — взрослая художественная # эротика НЕ названа ⇒ право есть. `violence` НЕ выдан: §«Violence and threats» регулирует # «promotes, incites, threatens, or glorifies» — пропаганду, а не изображение (D39.30 п.1). # Эмпирика: переводчик-дефолт канала B (D19 п.1, 10/10 чисто на violence). Пере-проверка 2026-10-25. accepts_labels: [sexually-explicit] timeouts: { attempt_s: 240, max_attempts: 3, backoff_cap_s: 60 } local: # ollama/llama-server на стенде (боевой env — memory textmachine-local-stand) kind: local base_url: http://127.0.0.1:11434/v1 model: huihui_ai/qwen3-abliterated:8b max_tokens: 8192 # у ollama лимит покрывает thinking+ответ вместе # РЕШЕНИЕ ВЛАДЕЛЬЦА 25.07 (D39.32): к локальному инференсу вендорских контентных политик НЕ # применяется — наружу ничего не уходит (стенд), веса Apache-2.0 без контентных ограничений, # Ollama ToS §4 признан неприменимым к локальному `ollama serve`. Переводим всё. # `violence` сегодня инертен (лейбл книгам не назначается, D39.30 п.1) — стоит для полноты. accepts_labels: [violence, sexually-explicit] # Эмпирика: abliterated-скрининг / дешёвый фолбэк канала B (D3/D19.1, 8/10 ok) — не несущий редактор. timeouts: { attempt_s: 600, max_attempts: 2, backoff_cap_s: 10 } # полигон: чанки 63–278 с models: deepseek-v4-flash: provider: deepseek # ПИК с 16.08.2026 16:00 UTC (пере-пин 15.08, шапка): $0.44 in / $1.32 out / cache-hit $0.014 за 1M. # Было $0.14 / $0.28 / $0.0028 — рост ×3.1 / ×4.7 / ×5. Офф-пик ровно ½ — плоская схема его не # несёт, держим пик (D39.136). Слаг тот же, версия весов вендора DeepSeek-V4-Flash-0731. price: { input_per_m: 0.44, cached_per_m: 0.014, cache_write_per_m: 0, output_per_m: 1.32 } capabilities: # Floor per quirks (thinking ⊆ completion, subset): <8000 → reasoning eats the # budget, content пуст, finish=length (НЕ отказ). Schema, not a comment (D24.3). min_max_tokens: 8000 note: >- Черновик (Р4). Автокэш по префиксу, отдельной цены записи нет. deepseek-chat/reasoner отключаются 24.07.2026 — сюда не возвращаться. deepseek-v4-pro: provider: deepseek # ПИК с 16.08.2026 16:00 UTC (пере-пин 15.08, шапка): $1.32 in / $3.96 out / cache-hit $0.044 за 1M. # Было $0.435 / $0.87 / $0.003625 — рост ×3.0 / ×4.6 / ×12.1 (кэш-хит дороже всех: эскалация с # горячим префиксом перестала быть почти бесплатной). Офф-пик ровно ½, плоская схема его не несёт. # ⚠ Слаг тот же, но ВЕСА новые: вендор объявил MODEL VERSION DeepSeek-V4-Pro-0813 («Model names # remain unchanged», news260813) — класс D39.61, поведение не сверялось (пинг сдан). price: { input_per_m: 1.32, cached_per_m: 0.044, cache_write_per_m: 0, output_per_m: 3.96 } capabilities: # Floor (D24.3): без него хоп наследовал бюджет праймари (2048/3291 на приёмке этапа A) # и вернул finish=length / 0 байт контента — эскалация впустую. # # 8000 → 16000 ПО ЗАМЕРУ мини-прогона 25.07 (10 глав, 14 edit-единиц): две единицы вернули # finish=length на 8000 и прошли на ретрае с 16000 — **$0.0177, то есть 15.5% всего счёта # прогона, ушло в две выброшенные генерации**. Размер текста тут ни при чём: единица с # черновиком 8189 символов в 8000 УЛОЖИЛАСЬ, а с 6380 — нет; разница в длине РАЗМЫШЛЕНИЯ, # которое у DeepSeek (reasoning: subset) считается ВНУТРИ completion_tokens и потому ест тот # же бюджет, что и текст. Оценочный множитель max_output_ratio этого не знает и знать не # может — на редакторской единице он всё равно даёт меньше флора. # # Асимметрия цены и решает: перебор бюджета БЕСПЛАТЕН (резервация транзитна, списание идёт по # фактическому usage), недобор стоит ЦЕЛОЙ генерации. Поэтому флор ставится с запасом, а не # впритык: 16000 против измеренных 10951 максимум. # ⚠ Двигает max_tokens ⇒ request_hash ⇒ снапшот: правка = громкий --resnapshot. min_max_tokens: 16000 note: >- Эскалация черновика канала A, хоп 1 (D3): deepseek-эхо 25% на приёмочной 蛊真人 (D18) → single-hop фолбэк с draft. Наследует deepseek: thinking ON (эхо-мина того же класса — echoes_when_thinking_off), reasoning ⊆ completion (subset). Живьём 2026-07-10: /models ✓, chat 200 (reasoning_content, перевёл). glm-5: provider: zai price: { input_per_m: 1.0, cached_per_m: 0.2, cache_write_per_m: 0, output_per_m: 3.2 } # thinking-выключатель переехал из extra_body в capabilities.reasoning (D3.1): # тело запроса байт-в-байт то же ({thinking:{type:disabled}} при reasoning=off), # но теперь это единая wire-форма — и off_extra_body разблокирует think-ON # эскалацию (D6.2) без второй ручки. Смена снапшота осознанная (--resnapshot). capabilities: reasoning: control: extra_body_disable off_extra_body: { thinking: { type: disabled } } # эмпирика полигона: thinking GLM — таймауты ×3 note: Редактор ru-стиля (Р4). Флагманы линейки уже GLM-5.1/5.2 ($1.4/$4.4) — пересмотреть к Фазе 2. glm-5.1: provider: zai # $1.4/$4.4, cached $0.26 (факт. 2026-07-10, docs.z.ai/guides/overview/pricing). price: { input_per_m: 1.4, cached_per_m: 0.26, cache_write_per_m: 0, output_per_m: 4.4 } capabilities: reasoning: control: extra_body_disable off_extra_body: { thinking: { type: disabled } } # как glm-5: thinking GLM — таймауты ×3 (полигон) note: >- Эскалация канала A, хоп 2 (D3), кросс-семейный к deepseek-хопу 1. Живьём 2026-07-10: /models ✓ (glm-4.5..5.2 листятся), chat 200 (thinking:disabled → reasoning_tokens=0). Флагман линейки vs glm-5. kimi-k2.6: provider: kimi price: { input_per_m: 0.95, cached_per_m: 0.16, cache_write_per_m: 0, output_per_m: 4.0 } # Альт-редактор (bake-off эксп-04, проиграл grok-4.3): принимает ТОЛЬКО temperature:1 # (иначе 400), ~11k reasoning tok/абзац. capabilities фиксируют квирк, чтобы edit-стадия # на temp 0.4 не 400-ла; min_max_tokens закрепляет min-бюджет схемой (был комментарий). capabilities: temperature: { mode: force, value: 1 } # Floor 16000 (D24.3): <16000 → reasoning съедает лимит, content пустой, finish=length. min_max_tokens: 16000 note: Альтернативный редактор (Р4). grok-4.3: provider: xai # $1.25/$2.50/1M (факт. 2026-07-04, docs.x.ai). cached_per_m=input: кэш-цену xAI # не верифицировали, а для редактора (черновик — свежий вход на чанк) cache-hit≈0, # поэтому консервативно не моделируем скидку — потолок не слепнет. Уточнит полигон. price: { input_per_m: 1.25, cached_per_m: 1.25, cache_write_per_m: 0, output_per_m: 2.50 } # Дефолт-редактор (bake-off эксп-04): temperature шлём; reasoning OFF даётся ТОЛЬКО явным # reasoning_effort:"none" (control:effort + off_effort:none). Дефолт grok = low → омиссия # заставляет думать: проба eval 05.07 (Chat Completions) — omission→444 reasoning-ток., "none"→0. # control:none (off-by-omission) молча оставил бы low; control:effort/off_effort шлёт явный none. capabilities: temperature: { mode: send } reasoning: { control: effort, off_effort: none } note: >- Главный пермиссив-тир канала B + судья 18+ ЭРОТИКИ (первичный для НЕ-grok переводов — D22.6: Gemini fail-closed на графичной эротике, native не спасает). Из редакторов СНЯТ (D30.1 — reasoning-off no-op; editor теперь glm-5-билингв). reasoning additive: think-ON только после резерва в EstimateUSD (D6.2/техдолг F3). Ключ — единый с data-sharing, off перед продом (D27). gemini-3.1-pro-preview: # ⚠️ слаг ИМЕННО -preview: gemini-3.1-pro → HTTP 404 NOT_FOUND (live 2026-07-10) provider: gemini # $2/$12 за 1M ≤200k (факт. 2026-07-10, ai.google.dev/gemini-api/docs/pricing; >200k тир $4/$18 — # не моделируем, чанки книги ≤200k). Output ВКЛЮЧАЕТ thinking-токены (reasoning-as-output, D3.2/D6.3). price: { input_per_m: 2.0, cached_per_m: 0.20, cache_write_per_m: 0, output_per_m: 12.0 } capabilities: # mandatory: thinking обязателен (thinking_budget:0 → HTTP 400, D6.3); адаптер молча глотает # reasoning:"off", forced thinking биллится как output. Учёт токенов — provider gemini reasoning:additive_total. reasoning: { control: mandatory } # Floor 8000 (D24.3): mandatory-thinking съедает бюджет; <8000 → перевод обрезан. # Раньше «дать max_tokens ≥8000» — комментарий; теперь схема (thinking ⊆ бюджета, additive_total). min_max_tokens: 8000 note: >- Апекс канала A / судья violence/SFW Ф2 / премиум-эскалация редактора за санитайзером (D30.1). min_max_tokens 8000 держит thinking внутри бюджета (резерв не слепнет; settle биллит thinking через additive_total). Как судья ЭРОТИКИ непригоден (D22.6: PROHIBITED_CONTENT неконфигурируем, native не спасает — первичный судья эротики Grok). Живьём 2026-07-10: chat 200. mistral-large-2512: provider: mistral # $0.5/$1.5 за 1M (факт. 2026-07-10, mistral.ai/pricing/api — Mistral Large 3, релиз дек.2025, Apache 2.0, # 262K). ⚠️ Маркетинг-FAQ mistral.ai/pricing даёт generic "$2/$6" = legacy Large 2; per-model /pricing/api # = $0.5/$1.5 (OpenRouter согласен) → разрешает D19-подозрение ($0.5/$1.5 при $2/$6 = 4×). cached=input # консервативно (cache-read не моделируем; канал B — свежий вход/чанк, hit≈0, потолок не слепнет). price: { input_per_m: 0.5, cached_per_m: 0.5, cache_write_per_m: 0, output_per_m: 1.5 } # WS1 §1б / WS6 gate №4: mistral-large — агрессивный rate-limiter (~48% retry-fails под N-∥ @1.3s; # токен-бакет/конкуренц-кап, тир-зависим — 00-provider-quirks §Транспорт). Пер-модельный семафор # конкуренции волнового раннера ограничивает одновременные вызовы (транспорт-ось, НЕ снапшот). # Значение — консервативный старт; пере-замерить на прод-тире (правило двух направлений). Свап-арм # редактора mistral НЕ идёт через прод-путь без этого guard (ревью-2 F4). rate_limit: { max_concurrency: 2, min_interval_ms: 0 } note: >- Переводчик-дефолт канала B (D19.1): 10/10 чисто на violence, policy 11.06.2026 без запрета adult, не reasoning-модель (эхо-мины нет). Свап-арм редактора (WS6, за rate-guard). Полный wiring канала B — Ф2. Полигон перепроверяет цену (D19.5б). Живьём 2026-07-10: /models ✓, chat 200. gpt-5-mini: # кандидат-редактор/second-opinion судья (D3) — НЕ в дефолтной цепочке Ф1 provider: openai # $0.25/$2.0, cached $0.025 (факт. 2026-07-10, developers.openai.com/api/docs/models/gpt-5-mini). Слаг жив # (chat 200 → dated gpt-5-mini-2025-08-07), но снят с текущей прайс-страницы (там gpt-5.4/5.5/5.6) — пересмотр к Ф2. price: { input_per_m: 0.25, cached_per_m: 0.025, cache_write_per_m: 0, output_per_m: 2.0 } capabilities: budget_field: max_completion_tokens # gpt-5: max_tokens → HTTP 400 temperature: { mode: omit } # gpt-5: temperature не принимается → HTTP 400 reasoning: { control: effort, off_effort: minimal } # reasoning ON выжигает бюджет → пустой ответ; шлём minimal note: >- Кандидат-редактор Р4 / second-opinion судья (D3). Не в дефолтной цепочке Ф1 (слот под Ф2). Живьём 2026-07-10 — chat 200. # claude-sonnet-5 / claude-opus-4-8 удалены вместе с провайдером anthropic # (см. комментарий у providers выше). Судья Фазы 2 — Gemini: нативный адаптер для # safety-off судьи 18+; для перевода/эскалации достаточно OpenAI-слоя (провайдер gemini выше). local-qwen3-8b: provider: local price: { input_per_m: 0, cached_per_m: 0, cache_write_per_m: 0, output_per_m: 0 } note: Скрининг/экстракция (Р4 — «спецслужба, не переводчик»). $0 допустим только для local-провайдера.