Перейти к содержимому

Журнал изменений

Журнал изменений

История изменений публичного API Clipia v1, MCP-сервера, LLM Gateway и SDK — запуск, новые инструменты и модели, обновления контракта и документации.

История изменений публичного API Clipia (/v1/*), удалённого MCP-сервера https://mcp.clipia.ai/mcp, LLM Gateway и официальных SDK. Свежие записи сверху. Контракт /v1/* стабилен; ломающие изменения отмечаются отдельно. Записи с июля по сентябрь 2026 года сгруппированы по месяцам.

2026-11-12

  • MCP: инструкции для плагина ChatGPT. При подключении плагина ChatGPT инструкции сервера просят ассистента подтверждать примерную цену в кредитах перед видео или несколькими картинками, дожидаться готового результата и отказывать в просьбах добавить кредиты или изменить аккаунт. Эти же инструкции коротко и без вызова инструментов отвечают на просьбы добавить кредиты, изменить аккаунт или сделать обнажённые изображения, а если вложение из чата не читается, просят публичную ссылку на картинку. Готовый результат в плагине также сообщает ассистенту, что карточка Clipia уже показывает его, поэтому ответ — короткий итог со ссылкой на оригинал. Перед любым видео и перед несколькими вариантами картинки плагин теперь подтверждает примерную цену на сервере: первый вызов ничего не запускает и возвращает модель, оценку и токен подтверждения, а генерация стартует, когда после согласия пользователя вызов повторяют с этим токеном. Остальные подключения не меняются. Версия метаданных сервера 1.0.24.

2026-11-09

  • MCP: голос по умолчанию — ElevenLabs v4 Turbo. generate_audio без model озвучивает моделью eleven-v4-turbo, раньше — gemini-3-1-flash-tts. Цена та же: 4 кредита за 1000 символов. Модель по умолчанию принимает 10–10 000 символов за вызов. Кириллицу без voice читает носитель русского языка. Голос Gemini (например, Kore) без явного model теперь отклоняется: передайте model: "gemini-3-1-flash-tts" или голос из get_model. Версия метаданных сервера 1.0.20. Подробнее — «Инструменты».

2026-11-05

  • Ломающее: без активной подписки — subscription_required. Генерация по боевому ключу без активной подписки отвечает 402 subscription_required, раньше приходил 402 insufficient_credits. Покупка пакета кредитов доступ не открывает; тестовый ключ работает без оплаты. Подробнее — «Аутентификация».
  • Ломающее: чат проверяет параметры до списания. temperature вне 0–2, top_p вне 0–1, n не равное 1, tools больше 256 КБ и max_tokens больше 200 000 возвращают 400. Значение max_tokens выше потолка модели допускается, резерв считается по запрошенному. Отказ модели по параметрам теперь 400, временный сбой — 502. Подробнее — Chat Completions.
  • Ломающее: потолок ссылок на исходные файлы. Отправка генерации и MCP принимают не больше 30 ссылок в одном списке и 60 разных в запросе; сверх этого 400 до резерва кредитов. Подробнее — «Постановка генерации».
  • Ломающее: MCP не отдаёт чужую генерацию по повторному ключу. Тот же idempotency_key с другим входом, в том числе с другим num_images, возвращает idempotency_key_reuse. Аргумент неверного типа возвращает invalid_request; число можно передать строкой ("5"), нестрогая запись вроде "5s" не принимается. Батч JSON-RPC с не протокольными сообщениями возвращает 400. Подробнее — «Инструменты MCP».
  • Срок действия, бюджет и ротация ключей. Владелец задаёт срок ключа и бюджет кредитов в консоли, а ротация выдаёт новый ключ и оставляет старому 24 часа. Бюджет считается за последние сутки, 7 или 30 суток или за всё время; запрос сверх него получает 402 insufficient_quota, а чтение результата и каталога остаётся доступным. О созданном и отозванном ключе и о новом OAuth-подключении приходит письмо. Подробнее — «Управление ключами».
  • Idempotency-Key в чате. Обычные ответы POST /v1/chat/completions и POST /v1/completions принимают заголовок и не списывают кредиты за повтор. Повторный ответ здесь и у отправки генерации помечен заголовком Idempotent-Replayed: true. В MCP ключ принимает и generate_scenario. Подробнее — «Идемпотентность».
  • Оплата при обрыве чата. В потоке после первого фрагмента списываются кредиты за уже отданное; до первого фрагмента и в обычном ответе резерв возвращается.
  • Вебхуки повторяются дольше. До 15 попыток примерно за 24 часа 15 минут вместо 6 попыток. Тестовому ключу приходит не больше одной доставки в минуту, повторов не дальше трёх попыток. Подробнее — «Вебхуки».
  • Текст ошибки генерации. error.message при FAILED — готовая фраза о причине, если сервер её опознал, иначе нейтральный текст по коду. Журнал консоли хранит код ошибки, а не её текст.
  • Единый формат ошибок до обработчика. Ответы 400, 404, 413 и 415 под /v1/ приходят в конверте error и не раскрывают внутренние пути. Подробнее — «Ошибки».
  • Лимиты MCP. Протокольные методы считаются отдельно: 600 единиц в минуту на ключ или OAuth-подключение. Согласие OAuth действует 180 дней, затем клиент попросит подтвердить доступ заново. Версия метаданных сервера 1.0.19. Подробнее — «Лимиты».
  • Лимит по IP-адресу, вводится отдельно. 30 запросов в секунду с одного IP, всплеск до 60: ответ 429 в обычном формате ошибок с заголовком Retry-After. Заработает с отдельным обновлением инфраструктуры.
  • queue_position устарело. Поле всегда равно 0; ориентируйтесь на status и progress. Подробнее — «Версии и совместимость».

2026-11-02

  • MCP: edit_presentation больше не помечен разрушающим. Инструмент создаёт новую презентацию на основе исходной; исходная не меняется и не удаляется, поэтому аннотация destructiveHint теперь false, как у остальных инструментов. Каталоги MCP перестают показывать метку Destructive, клиенты — просить лишнее подтверждение. Версия метаданных сервера 1.0.16.

2026-10-13

  • Проигнорированные параметры больше не теряются молча. Если в input есть ключ, который модель не применит (опечатка, параметр другой модели), POST /v1/models/{model} и /estimate принимают запрос как раньше, но возвращают его в массиве warnings. Запросы, которые проходили раньше, продолжают проходить.
  • MCP отклоняет такой вызов до запуска. generate_image, generate_video, generate_audio и generate_music отвечают ошибкой invalid_request, называют лишние параметры и перечисляют те, что модель объявляет; генерация не создаётся. Это касается и аргументов верхнего уровня — например seed у модели, которая его не объявляет. Подробнее — «Инструменты MCP».
  • SDK 1.5.0. TypeScript clipia-ai и Python clipia 1.5.0 описывают warnings в ответах отправки и оценки стоимости — примеры на страницах TypeScript SDK и Python SDK.
  • Seedance 2.x: звук включён, если параметр не передан. Запрос к Seedance 2, 2 Fast, 2 Mini и 2.5 без generate_audio теперь возвращает ролик со звуком — так, как объявляет input_schema модели (default: true). Раньше такой запрос через API и MCP исполнялся без звука. Чтобы получить ролик без звука, передайте generate_audio: false. Если звуковая дорожка не прошла правила безопасности, ролик может прийти без звука. Стоимость запроса не изменилась. Подробнее — на странице Seedance 2.5.
  • Признак снятого звука в API и MCP. Если звуковая дорожка ролика не прошла проверку безопасности модели, сервер повторяет генерацию без звука. Теперь об этом сообщает массив warnings с кодом audio_dropped — в GET /v1/requests/{id} и GET /v1/requests/{id}/status, а в MCP — в ответах wait_generation и get_generation. Стоимость запроса при этом не меняется. Подробнее — «Результат генерации».
  • Тумблер звука у видео-моделей читается одинаково. true, 1, "yes" и "on" включают звук, false, 0, "no" и "off" выключают — одинаково при расчёте стоимости и при исполнении. Строка, которая не читается как тумблер, считается непереданным параметром: действует умолчание модели. Раньше строки "1", "yes" и "on" у части моделей выключали звук.
  • Kling 3 Multi-Shot: звук с двумя и более сценами. Такой ролик модель всегда создаёт со звуком. Запрос с sound: false принимается как раньше, стоимость считается со звуком, а в ответе приходит предупреждение unsupported_parameter.
  • Референс-видео Seedance 2.x: лимит числа роликов. Seedance 2, 2 Fast и 2 Mini принимают до 3 референс-видео, Seedance 2.5 — до 10; лимит объявлен в input_schema модели (maxItems). Запрос сверх лимита отклоняется с кодом 400 до резерва кредитов. Раньше лишние ролики отбрасывались молча.
  • list_models в MCP отдаёт каталог страницами. Ответ содержит total, truncated и next_offset; следующая страница запрашивается параметром offset. Раньше длинный каталог обрезался без признака. Подробнее — «Инструменты MCP».
  • Сбой расчёта стоимости — 503, а не неточная цена. Если сервер временно не может прочитать параметры цены модели, запуск и /estimate отвечают 503: повторите запрос позже, кредиты не резервируются. В каталоге у такой модели может прийти pricing: { available: false }.

2026-10-09

  • Документация: разделы о продукте, студиях и моделях; новый дизайн портала. В портале появились разделы о самом продукте, студиях и моделях, страницы API, MCP и SDK сверены с текущим поведением сервиса.
  • Slug с косой чертой в REST. Модели вида google/imagen4 теперь вызываются и через POST /v1/models/{family}/{model}, не только через MCP — см. каталог. Ответы /v1/chat/completions ищутся через GET /v1/generation?id=chatcmpl-…; у ошибок генерации единый словарь error.code; на любом 429 есть Retry-After.
  • Новое руководство. «Переход с другого API генерации» — как перенести интеграцию на очередь Clipia.

2026-09

  • SDK 1.2.0. TypeScript clipia-ai и Python clipia 1.2.0 описывают поле text_limits у моделей озвучки — минимальную и максимальную длину текста.
  • Длина текста озвучки проверяется заранее. REST API и MCP отклоняют текст вне text_limits с кодом 400 до создания генерации, поэтому кредиты не резервируются. Границы видны в GET /v1/models/{model} и в get_model.

2026-08

  • Seedance 2.5. В каталог добавлены seedance-2-5-t2v и seedance-2-5-i2v от ByteDance — см. страницу модели.
  • Превью кадра в MCP. generate_video возвращает встроенное превью кадра, чтобы агент видел результат.

2026-07

  • LLM Gateway. OpenAI-совместимый POST /v1/chat/completions со стримингом, вызовом инструментов и структурированным выводом; текстовые модели появились в общем каталоге GET /v1/models. Подробнее — в разделе LLM Gateway.
  • SDK 1.1.0. models.list() и models.get() в обоих SDK учитывают текстовые модели в каталоге.
  • Новые MCP-инструменты. generate_audio (озвучка текста), generate_music, chat, generate_scenario и compose_video (склейка сцен в итоговый ролик), generate_presentation и edit_presentation. Список и параметры — на странице «Инструменты MCP».
  • Готовые сценарии MCP. Сервер отдаёт prompts product_shot, blog_covers, campaign_storyboard и animate_photo — см. «Готовые сценарии».
  • Медиа в чате. В клиентах с поддержкой MCP Apps результаты показываются интерактивной карточкой.

2026-06-22

  • Канонический адрес MCP. Удалённый MCP-сервер переехал на https://mcp.clipia.ai/mcp. Старый адрес https://api.clipia.ai/mcp сохранён как псевдоним для обратной совместимости, но в новых интеграциях следует использовать канонический адрес.

2026-06-13

  • Превью изображений в MCP. Инструмент generate_image отдаёт результат одним вызовом со встроенным превью: агент видит картинку и может итерировать. В claude.ai генерации показываются интерактивной карточкой с живым прогрессом и кнопкой «Оригинал».
  • MCP-лимиты не душат сессию. Протокольный JSON-RPC шум (initialize, tools/list, ping) больше не учитывается в RPM — лимит считает только вызовы инструментов.

2026-06-12

  • Запуск публичного API и MCP. Включён публичный API очереди /v1/* (отправка → опрос или вебхук), официальные SDK для TypeScript (clipia-ai) и Python (clipia) и CLI.
  • Удалённый MCP-сервер. Поднят первоначальный адрес https://api.clipia.ai/mcp (теперь старый псевдоним) с 8 инструментами для агента и отдельным app-only helper: генерация изображений и видео прямо из Claude Code, claude.ai, ChatGPT, Cursor и других MCP-клиентов.
  • Песочница. Ключи с префиксом clipia_test_ мгновенно возвращают заготовленные результаты без списания кредитов.

Эндпоинт отмены удалён

Эндпоинт отмены убран из публичного API. Кредиты резервируются при submit, а у большинства моделей генерацию нельзя остановить после старта — cancel создавал бы ложный статус «CANCELED» при уже списанных кредитах. Статус CANCELED в ответах остаётся валидным: работа может быть отменена вне API и тогда вернётся как терминальная.