ImgChanger — AI-замена картинок

Описание

Претензии за фотографии — обычное дело: правообладатель находит своё изображение на чужом сайте и требует компенсацию. Обычная реакция — удалить картинку, и тогда на месте иллюстрации на странице остаётся дыра.

ImgChanger поступает иначе: спорная картинка заменяется — вашей собственной фотографией или сгенерированной. Страница выглядит как прежде, а чужой фотографии на сайте больше нет.

Как это работает

Плагин работает с медиабиблиотекой. Файл вложения переписывается на месте, поэтому ID вложения и все ссылки на него остаются рабочими — картинка сразу обновляется везде, где используется: в записях и страницах, в товарах WooCommerce, в полях ACF, в миниатюрах записей. Разметку контента плагин не трогает.

Что умеет

  • Два способа замены: загрузить свою картинку или сгенерировать. Загрузка бесплатна и не требует ключа лицензии — к тому же своя фотография того же объекта часто и есть лучший ответ.
  • Показывает оригинал и замену рядом — решаете вы, и до применения на сайте ничего не меняется.
  • Перед каждой заменой сохраняет оригинал и все его размеры.
  • Откат в один клик: исходный файл возвращается побайтно, размеры пересчитываются.
  • Фильтры: ещё не тронутые, готовые к применению, уже заменённые.
  • Карта использования: плагин один раз проходит по сайту и дальше знает, в каких записях показывается каждая картинка, — можно выбирать картинки по разделам (проекты, записи, галереи) и видеть, где стоит картинка, до замены. Метаданные вложения на этот вопрос не отвечают: WordPress помнит только, куда файл загрузили, а не где он показывается.
  • Настройки качества: сила перерисовки и запрет надписей на сгенерированном изображении.

Что нужно для работы

Генерацию выполняет сервис imgchanger.org. Нужен ключ лицензии: прямо в настройках плагина можно по email получить бесплатный ключ на 5 замен — без карты и регистрации. Дальнейшие замены платные.

Чего плагин не делает

Замены создаёт нейросеть, поэтому результат стоит просмотреть перед применением — именно для этого оригинал и замена показываются рядом. Плагин работает с картинками из медиабиблиотеки; изображения, зашитые в тему, ему недоступны.

Внешние сервисы

The plugin relies on the ImgChanger service, and for buying replacement packs — on the YooKassa payment service (payments from Russia) or the Prodamus payment service (payments in US dollars from other countries).

ImgChanger (api.imgchanger.org) создаёт замены и ведёт баланс лицензии. Плагин обращается к нему:

  • при нажатии «Сгенерировать» — передаются выбранное изображение, доменное имя сайта и ключ лицензии; перед генерацией сервис описывает изображение с помощью языковой модели, чтобы замена сохранила сюжет, и возвращает описание на языке вашей админки;
  • при нажатии «Описать» — передаются то же изображение, доменное имя и ключ лицензии, сервис возвращает описание изображения;
  • при открытии страницы плагина (не чаще раза в минуту) и при нажатии «Проверить сейчас» — передаются ключ лицензии и доменное имя, чтобы узнать остаток замен;
  • при запросе бесплатного триала — указанный вами email и доменное имя;
  • на странице настроек — чтобы получить список пакетов и цены (о вашем сайте ничего не передаётся);
  • when you press «Pay» — the license key, the domain name and the chosen pack are sent, and the service returns the payment page of YooKassa (roubles) or Prodamus (US dollars); after you come back, the plugin asks for the status of that payment by its number.

Персональные данные посетителей вашего сайта не собираются и не передаются. Файлы, прикреплённые к непубличным записям (заявкам из форм, запросам, заказам), не отправляются никогда.

Сервис: https://imgchanger.org/
Условия использования: https://imgchanger.org/ru/legal/
Политика конфиденциальности: https://imgchanger.org/ru/legal/

ЮKassa (yoomoney.ru) принимает оплату пакетов замен картой. Только при нажатии «Оплатить» браузер переходит на страницу оплаты ЮKassa; данные карты вводятся там и не проходят через ваш сайт или плагин. Для чека в ЮKassa передаётся email владельца лицензии.

Сервис: https://yookassa.ru/
Условия использования: https://yoomoney.ru/document/pravila-raboti-servisa-yookassa
Политика конфиденциальности: https://yoomoney.ru/page?id=527708

Prodamus (payform.ru) accepts card payments in US dollars for customers outside Russia. Only when you choose to pay in US dollars and press «Pay», the browser goes to the Prodamus payment page; card details are entered there and never pass through your site or the plugin. The license owner’s email address and the domain name are passed to Prodamus for the receipt.

Service: https://prodamus.ru/
Terms of use: https://prodamus.ru/documents
Privacy policy: https://www.payform.ru/warranty/privacy/

Скриншоты

Установка

  1. Установите и активируйте плагин.
  2. Откройте «ImgChanger Настройки», введите email и нажмите «Получить триал» — ключ на 5 бесплатных замен появится сразу. Если ключ уже куплен, вставьте его в поле.
  3. Откройте «ImgChanger Замена картинок», выберите картинку и нажмите «Сгенерировать».
  4. Сравните оригинал и замену, затем нажмите «Применить». Оригинал уйдёт в бэкап.

Часто задаваемые вопросы

Что будет со ссылками на картинку?

Ничего не ломается. Файл переписывается на месте, поэтому все записи и товары по-прежнему ссылаются на то же вложение и обновляются сразу. После замены плагин добавляет к адресу картинки метку версии (?v=…), чтобы браузеры и CDN загрузили новый файл, а не отдали старый из кэша, — посетители, уже открывавшие страницу, тоже увидят замену. Разработчики могут отключить это фильтром imgchanger_bust_cache.

Можно ли вернуть оригинал?

Да, кнопкой «Вернуть оригинал». Оригинал и все его размеры сохраняются перед заменой в uploads/imgchanger/backups и остаются там даже после удаления плагина.

Работает ли с WooCommerce и ACF?

Да. Оба хранят картинки как вложения медиабиблиотеки, а плагин заменяет именно файл вложения.

Что значит «не найдены в записях и настройках»?

Карта использования смотрит записи всех публичных типов (миниатюры, произвольные поля, галереи, разметку редактора, данные конструкторов страниц, картинки, вставленные по адресу), страницы настроек ACF, настройки темы (логотип, иконка сайта, шапка, фон), виджеты и поля рубрик и меток. Она не видит картинки, путь к которым прописан прямо в шаблонах темы или в CSS, и картинки, которые слайдеры и конструкторы хранят в своих таблицах базы данных. Поэтому считайте такие картинки кандидатами, а не точно неиспользуемыми: перед заменой или удалением проверьте пару из них на сайте.

Почему в списке нет некоторых вложений?

Файлы, прикреплённые к записям, которые посетители не видят, — заявкам из форм, запросам, заказам, — скрыты намеренно. Обычно это личные файлы посетителей: скриншоты, планы, фотографии. Плагин не предлагает их для замены и никогда не отправляет в сервис. Если такой файл стоит ещё и на публичной странице, он остаётся в списке. Разработчики могут настроить, какие типы записей считаются показанными на сайте, фильтром imgchanger_indexable_types.

Можно ли поставить свою картинку вместо сгенерированной?

Да. На каждой карточке есть кнопка «Загрузить свою»: файл проходит тот же путь — предпросмотр рядом с оригиналом, бэкап, применение, откат — и ничего не стоит. Ключ лицензии нужен только для генерации.

Тема сама делает миниатюры и продолжает показывать старую картинку

Некоторые темы и плагины сами уменьшают картинки и кэшируют результат под именем, построенным из адреса картинки. При замене адрес не меняется, поэтому такой кэш о ней не узнаёт и продолжает показывать прежнее изображение.

Плагин сбрасывает кэш всех записей, где используется картинка, — этого достаточно для распространённых кэширующих плагинов. Для собственного кэша миниатюр подключитесь к событию замены:

add_action( 'imgchanger_replaced', function ( $attachment_id, $file, $event, $places ) {
    // Remove your own cached thumbnails for $file here.
    // $event is 'replaced' or 'restored', $places holds the entry IDs.
}, 10, 4 );

Сколько это стоит?

Замена своими картинками — бесплатно и без ограничений. Для генерации 5 замен бесплатны после получения пробного ключа. Дальнейшие пакеты, от 5 замен, можно купить прямо в настройках плагина («Пополнить», оплата картой через ЮKassa) или на imgchanger.org.

Отзывы

Нет отзывов об этом плагине.

Участники и разработчики

«ImgChanger — AI-замена картинок» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

«ImgChanger — AI-замена картинок» переведён на 1 язык. Благодарим переводчиков за их работу.

Перевести «ImgChanger — AI-замена картинок» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

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

0.1.7

  • Images that lie on the site but are not in the media library are found and replaced too. Sites moved to WordPress from another CMS keep their old pictures in their own folders («/uploads/2016_08/», «/images/uploads/») with direct links in the text, and until now the plugin could not see them — that is exactly where the oldest and most risky photos are.
  • Such pictures appear in the same list next to the media library, are marked with their path, can be filtered by section, and are replaced with a backup and one-click rollback, just like attachments. Size copies lying next to them («photo-800×600.jpg») are replaced as well.
  • The header counts them separately and also shows broken links: files the entries point to that are not on the disk.
  • The date of an image outside the media library is kept from the moment it was found, so a replacement no longer pushes it to the top of the list as if it had just been uploaded. The backup now keeps the date of the photo itself, and a rollback puts it back together with the file.
  • If the backup of a replaced image is gone from the disk (uploads cleaned up, site moved), the card says so and offers to remove the «replaced» mark: the picture on the site stays as it is and can be generated again. Before, such a card was a dead end — rollback failed and nothing else was offered.
  • Clicking an image that has nothing prepared yet simply shows it large, without the wipe handle and the before/after switches — there is nothing to compare it with.
  • «Compare» now works on an image that has already been replaced: the «before» side is the original taken from the backup, not the picture that is on the site now. The replacement history shows both pictures side by side as well. The backup itself stays closed to visitors — the file is served to the administrator only.

0.1.6

  • After activation the plugin opens its settings with the free trial form right away, and a dismissible reminder about the 5 free replacements is shown on the dashboard and the plugins page until a license key is set.
  • A prepared replacement that has not been applied yet gets an unguessable file name, so it cannot be opened by guessing the attachment number.

0.1.5

  • Top up in US dollars for customers outside Russia: packs are priced in dollars and paid by a card of a non-Russian bank through Prodamus. The currency follows the language of the admin area, and a link in the «Top up» block switches it.

0.1.4

  • Перед генерацией фото описывается: сервис сообщает модели, что на снимке, — предметы, материалы, мелкие детали, — поэтому замена сохраняет сюжет даже при сильной перерисовке. Описание появляется в поле подсказки, его можно поправить перед следующей попыткой. Замену оно не расходует.
  • Кнопка «Описать» в карточке: прочитать и поправить описание до генерации.
  • Подсказку можно писать на любом языке: сервис переводит её на английский, который модель понимает лучше всего, и превращает просьбы вроде «сделай доски светлее» в описание результата.

0.1.3

  • Силу перерисовки можно выбрать прямо в карточке картинки, рядом с моделью. Заранее выбрано значение из настроек; массовая генерация по-прежнему использует его.
  • «Сгенерировать снова» сохраняет прежнюю подсказку и силу и позволяет поправить их перед повторной генерацией.

0.1.2

  • Из настроек убрано поле «Адрес сервиса»: менять его было незачем, а неверный адрес отправил бы ключ лицензии и картинки сайта на чужой сервер. Разработчики могут указать другой адрес константой IMGCHANGER_GATEWAY_URL в wp-config.php.
  • Пополнение баланса из плагина: выберите пакет на странице настроек и оплатите картой через ЮKassa. Замены зачисляются на эту лицензию, а после оплаты страница сама обновляет баланс.
  • Баланс сверяется с сервисом при открытии страницы плагина, рядом есть кнопка «Проверить сейчас».
  • Подпись под каждой картинкой ведёт на страницу, где она используется; «+N» открывает список всех мест со ссылками на сайт и в редактор. То же в истории замен.
  • Карта использования охватывает также страницы настроек ACF, настройки темы (логотип, иконка сайта, шапка, фон), виджеты, поля рубрик и меток, данные конструкторов страниц и картинки, вставленные по адресу. У них свои разделы в фильтре; замена такой картинки сбрасывает кэш всех страниц, потому что она показывается сразу на многих.
  • Файлы, прикреплённые к непубличным записям — заявкам из форм, запросам, заказам, — скрыты из списка и никогда не отправляются в сервис генерации: обычно это личные файлы посетителей. Сводка показывает, сколько скрыто.
  • Картинки в настройках сайта подписаны страницей настроек и полем, откуда они взяты, например «Переменные сайта Водяной знак Изображение».

0.1.1

  • После замены плагин сбрасывает кэш записей, где используется картинка, и вызывает действие imgchanger_replaced, чтобы сайт со своим кэшем миниатюр тоже мог его почистить.
  • Бэкапы удалённого вложения удаляются вместе с ним и не копятся в uploads.
  • Замена приводится к формату оригинала, поэтому файл, его расширение и запись в базе данных остаются согласованными.
  • Картинку можно заменить своим файлом, а не только сгенерированным: бесплатно, без ключа лицензии, с тем же бэкапом и откатом.
  • Карта использования: плагин находит, в каких записях на самом деле показывается каждая картинка, — миниатюры, поля и галереи ACF, галереи товаров WooCommerce, шорткоды галерей и разметка редактора — и позволяет фильтровать библиотеку по разделам. Строится один раз со страницы плагина, дальше обновляется при правке записей.
  • Заменённые картинки теперь видят и посетители, уже открывавшие страницу: к адресу картинки добавляется метка версии, и браузеры и CDN перестают отдавать закэшированный оригинал. Отключается фильтром imgchanger_bust_cache.
  • Поиск теперь ищет и по именам файлов, а не только по заголовкам.
  • Сводка показывает, сколько вложений пропущено из-за неподдерживаемого MIME-типа.
  • Счётчик «готовые к применению» обновляется во время массовой обработки.

0.1.0

  • Первая версия: поиск картинок в медиабиблиотеке, генерация замены, применение с бэкапом и откат.