Любителям автоматизации пост

Привет! Это мой первый пост на этой платформе. Я не совсем ещё знаком с местными правилами, но всё же решил написать об одном из своих Telegram ботов и поделиться им.

Какое-то время я занимался графическим дизайном (справедливости ради, и сейчас занимаюсь), и ко мне часто обращались знакомые с просьбой сделать что-то в Photoshop-е, ведь «тыж там картиночки кокие-то рисуешь». В большинстве случаев это сводилось к тому, что нужно было просто вырезать что-то и вставить это куда-то, или просто отдать тот или иной вырезанный объект, будь то человек или упаковка из под молока, в формате .png. Именно в этот момент я познакомился с интернет сервисами, которые на основе AI могут с лёгкостью удалять задний фон у изображений. В этот момент ко мне и пришла идея…

В августе этого года я решил написать Telegram бота, который принимал бы на вход изображение, и отдавал обработанную версию без фона. На тот момент в Telegram было несколько похожих ботов, но они либо работали нестабильно, либо отправляли очень сжатый вариант, в плохом качестве. Большинство из них просто использовали api популярного сервиса по удалению фона с изображений, который в упоминании не нуждается. В общем, так как я пишу на JavaScript-е, вариант с написанием своей нейронки сразу отпал. Я решил покопаться в интернете, посмотреть все существующие сервисы, изучить как они работают. Так я нашёл один непопулярный сервис по удалению фона с изображений, у которого под капотом была довольно хорошо обученная нейронная сеть. Путём reverse engineering-а я написал небольшую api-шку и прикрутил её к своему уже созданному заранее Telegram боту.

Некоторое время спустя, один из моих знакомых подкинул мне идею: добавить опцию, которая позволяла бы эти изображения без фона сразу же конвертировать в стикеры Telegram. Мне показалось это неплохой идеей, и за вечер я написал новый функционал для бота, а ещё через сутки я и мой друг конвертировали десятки изображений и создали несколько стикер-паков через официального бота.

Я не хотел делать этот пост длинным, потому попытался вкратце рассказать о том, как зародился Burn Background бот. Возможно, среди вас есть такие люди, которым моя ситуация знакома, или же просто хотели бы поиграться и протестировать работу бота.
В любом случае, welcome — @burnbgbot. Буду искренне рад, если бот окажется действительно полезным. Проект опенсурс, можете взглянуть на его гитхаб, если интересно.

0
58 комментариев
Написать комментарий...
Alexander Voynov

Ну прикольно, че. Молодец. Очень интересная фича.
Прикрутишь генерацию надписи будет еще круче.

Кстати а вот это <>api популярного сервиса по удалению фона с изображений, который в упоминании не нуждается <> совсем зря. Я, например, как и, уверен, некоторые читатели тоже, не поняли. Да и вообще было интересно ознакомится с такими сервисами.
Буду благодарен на ссылку на парочку достойных

Ответить
Развернуть ветку
Vyacheslav Azarenko
Автор

спасибо! Имелось ввиду сервисы, которые первые в выдаче у гугла по запросу «убрать фон изображения онлайн».
Если говорить конкретно, имел ввиду я этот сервис — https://remove.bg
Он довольно популярный, но есть свои недостатки. Вообще, все эти сервисы по-сути платные. Различаются лишь тестовым периодом. У кого-то можно 5, например, картинок в оригинальном размере получить, у кого-то 10. У некоторых, насколько мне известно, практически безлимитно можно конвертить, но на выходе изображение будет сжатым.

Ответить
Развернуть ветку
Vladislav Krot

Немного не понятно, как вы используете их api бесплатно? Или вы как-то получили исходники их нейросетки? Если да, то как? (Если что конкурента не делаю)

Ответить
Развернуть ветку
Vyacheslav Azarenko
Автор

я просто выписал себе десятки похожих сервисов из гугла, все их просмотрел, попытался их разобрать и посмотреть, что там под капотом. В одном из них нашёл дыру. Обычному пользователю сервис возвращает только превью после конвертации (сжатое изображение), а чтобы получить в полном размере, нужно какую-то там местную валюту покупать. Но инженеры их почему-то решили засунуть preview_image и full_image в один response от их API, хотя другие делают для этого отдельный эндпоинт, ну, или хотя бы какие-нибудь проверки. Как итог, я просто отправляю обычный post запрос и вытаскиваю не preview_image, которое они показывают у себя на сайте для пользователей, а full_image, и даю это пользователю бота.

Ответить
Развернуть ветку
Cere8ellum

Лишь бы дыру не залатали.
А так, молодец.

Ответить
Развернуть ветку
Vyacheslav Azarenko
Автор

С августа никаких действий с их стороны. Мне вообще кажется они не особо сервисом занимаются и скорее всего он умрёт. Но, это не беда, т. к. я уже нашёл один хороший и бесплатный, который можно прикрутить + на днях прикрутил benzin.io (ничего не "хакал", как тут некоторые выражаются, а то щас полетят камни опять в меня. Они сами api-шку предоставляют).

Ответить
Развернуть ветку
L Lubkin

Ну вообще есть бесплатный https://icons8.com/bgremover В смысле - совсем бесплатный при пользовании через сайт. А API у них платный, да. Пользуюсь через сайт ибо можно сразу много картинок загрузить на обработку и на выходе они не будут пережатыми, в отличие от других аналогичных сервисов.

Ответить
Развернуть ветку
Vyacheslav Azarenko
Автор

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

Ответить
Развернуть ветку
L Lubkin

А дайте знать, если получится прикрутить. Интересно)

Ответить
Развернуть ветку
Ибрагимов

Попробуйте добавит бензин'а (benzin.io)

Ответить
Развернуть ветку
Vyacheslav Azarenko
Автор

спасибо! Обязательно гляну, что можно сделать.

Ответить
Развернуть ветку
Vyacheslav Azarenko
Автор

upd: добавил, в боте это сейчас 2-ой сервис. Старый сервис сместил, теперь он 3-ий. Можете попробовать, сменив сервис командой /settings :)

Ответить
Развернуть ветку
55 комментариев
Раскрывать всегда