Можно ли в Python создавать бинарные файлы? Конечно можно.
Для этого в Python есть следующие инструменты:
▫️ тип данных bytes и bytearray
▫️ открытие файла в режиме wb (write binary) или rb (read binary)
▫️ модуль struct
Про модуль struct поговорим в первую очередь.
Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных.
В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла.
Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла.
Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид.
Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки).
Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение.
При этом следует помнить что мы говорим о типах языка С а не Python.
Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще.
Вот какие токены формата у нас есть.
Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы.
В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты.
Запакуем в байты простое число, токен "i".
>>> import struct
>>> struct.pack('=i', 10)
b'\n\x00\x00\x00'
Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов.
>>> struct.pack('=fff', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же.
>>> struct.pack('=3f', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Теперь запакуем разные типы
>>> data = struct.pack('=fiQ', 1.0, 4, 100500)
я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт)
b'\x00\x00\x80?\x04\x00\x00...'
Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа.
>>> struct.unpack('=fiQ', data)
(1.0, 4, 100500)
Как видите, ничего страшного!
#lib#basic
Draw-to-Decompose
Бывает такие моменты, когда нейронка нуууу вообще не слушается, и ты пытаешься найти различные костыли и обходы, чтобы получить желаемое. Тестируешь Draw-to-Edit, другие модельки, негативный промпт, просишь у GPT более подробно сформулировать твою сухую мысль — и всё равно нейронка говорит: «Слушай, иди поспи, я буду делать, как задумала, а то, что ты хочешь, нууу такое».
Вот с таким случаем я сегодня столкнулся, когда делал раскадровку для ролика на работе. В моём случае — это дочка и папа в машине, где папа должен смотреть в зеркало заднего вида, а дочка — смотреть мультики со спинки, сидя на заднем сидении в детском кресле. Понимаю, что вариантов миллион, и, возможно, именно у тебя бы получилось это сделать, но сроки и параллельные задачи сильно ограничивали мои эксперименты.
Но то, что не делается автоматически, можно сделать ручками, и я хочу поделиться своим способом, который придумал, чтобы решить эту задачу:
Nano-Banana очень хорошо интерпретирует идентичность объектов на картинке, и это можно использовать. Я просто просил вырезать объекты из общей картины и затем собрал свой вариант из этих же слоёв, добавив размытия и освещения.
Prompts:
Оставь девочку в детском кресле, всё остальное на картинке удали, чёрный изолированный слой
Удали девочку в детском кресле.
Оставь левое кресло, всё остальное удали, чёрный изолированный слой
Итого у меня получилось три слоя:=
1. Общая фотка без девочки.
2. Слой с девочкой.
3. Слой с пустым креслом.
В итоге собрал мастер-референс, от которого уже можно плясать с ракурсами.
😂 Этот способ не универсальный для всех задач, но раскрывает большое поле возможностей — будет полезно в трудных задачах где нейронка совсем не слушается, для создания параллакс эффектов, можно вырезать не только объекты, но и свет, отражения и тени, а так же вычиленять объекты целиком даже ту часть которая скрыта,например, объектами переднего плана Пользуйся.
#hints | AcidCrunch
Сегодня расскажу тебе про одну странную, но прикольную синергию Veo3 + Gemini + Midjourney, на которую я наткнулся случайно
Делал я тут для эфира обложку, где AcidCrunch сёрфит по цифровым волнам, хотелось, чтобы картинка была динамичная и чтобы он проплывал через водяную трубу.
Сначала Mj. Закинул картинку, пробовал и своими словами, и через бота — но вода выходила как пластик, а движения вялые.
Потом Veo3. Там с динамикой и физикой было уже повеселее, но стилизация мне вообще не зашла.
Тут вспомнил про Gemini. Он же может разобрать видео и накидать промт. Я закинул туда рендер из Veo3 и попросил сохранить динамику и физику воды, но вписать серфера в трубу. Он выдал 3 вариантf промта.
Вернулся в Midjourney с новым промтом — и получил что хотел: стилизация, качество, формат.
Может, совпадение, но факт: Gemini, подкормившись видосом из Veo3, смог придумать промт, который вытащил рендер в Mj на новый уровень.
Короче, лайфхак: если вообще не получается добиться нужного эффекта, попробуй такой кривой, но рабочий манёвр.
😂 И не забывай репостить ага)
#hints | AcidCrunch
📚 Наткнулся на «22 панели, которые ВСЕГДА работают» от легендарного художника Уолли Вуда.
Это такой гайд, как сделать даже самые скучные сцены с болтовнёй персонажей визуально интересными.
✍️ Сам Вуд шутил:
«Когда тупой сценарист заставляет унылых героев сидеть и болтать страницу за страницей — эти 22 варианта спасают!»
🎨 Идеально подходит, Для раскадровки для дальнейшей истории которую можно сгенерить и анимировать)
👇 Подпишись, сохрани и кидай друзьям
#hints | AcidCrunch
Фишка: Триггер символ для бота в ChatGpt
Сегодня хочу поделиться фишкой, которую сам юзаю в ChatGpt. Я пишу обычно криво, ошибок — тьма, поэтому сделал себе «теневого клона» в ChatGPT. Он берёт мои мысли и переписывает их так, чтобы это выглядело нормально для людей, но всё равно оставалось моим стилем.
Как это работает
Чтобы бот писал как ты — дай ему примеры: переписки, посты с канала, заметки. Он не идеально скопирует, но паттерны поймёт. Особенно круто это работает в GPT-5.
Фишка
В инструкциях можно зашить «символ-триггер». Например:
— Если тебе скидывают текст и в конце стоит символ *, ты переписываешь его в своём стиле — так, как писал бы сам, с учётом твоего характера и на основе постов из загруженных файлов AcidCrunch.
В итоге, когда я кидаю свой кривой текст и добиваю его символом *, бот сам превращает его в аккуратный пост. Мне не надо расписывать кучу инструкций каждый раз — всё завязано на один знак.
😣 Хочешь — могу выложить инструкцию своего бота, который заточен под мой канал. А ты уже сможешь заревёрсинженирить его под себя, если надо).
Напиши в комментариях и влепи реакцию — если соберётся 30, выложу в следующих постах. Да, это байт на активность) .
😱 И делись постом с другом фишка реально полезная
#hints#chatgpt | AcidCrunch
Хочу с тобой поделиться фишкой. Она вроде на поверхности, но не каждый до неё додумается.
Агент лучше всего использовать для поиска информации. Он выгружает результаты в чат → затем ты просишь Deep Research или GPT-5 Thinking / Pro обработать их.
Так получается максимально точный и полезный вывод без лишних шагов.
😂И не забывай репостить ага)
#chatgpt#hints | AcidCrunch
🎭 Midjourney v7 чувствует язык — буквально.
Решил протестировать, как влияет язык промпта на визуальный вайб. Взял один и тот же текст:
"мужчина идёт по рынку в центре города" — и просто перевёл его. Всё. Без стилей, без уточнений.
Результат — будто три разных фильма.
📷 1. Русский промпт — мрачный, суровый, пыльный кадр. Чёрно-белое, будто хроника. Герой — будто из Тарковского.
📷 2. Японский промпт — мягкий свет, утренний город, кинематографично и молчаливо. Всё в эмоции, даже без слов.
📷 3. Итальянский промпт — портретное, живое, почти уличная мода. Цвета, взгляд, текстура — всё о человеке и городе.
Промт на русском:
Фотография мужчины в старинной одежде идущего медленно по многолюдному рынку вокруг него суетятся люди за прилавками он одинок на фоне движущейся толпы атмосфера будничной торговли мягкое равномерное освещение подчёркивает его силуэт
🎯 Неочевидный, но мощный приём: выбирай язык — и получай нужное настроение.
Не нужно перегружать описание, v7 сам подтянет культурный контекст.
Иногда, чтобы картинка «говорила», достаточно просто сменить язык.
👇 Подпишись, сохрани и кидай друзьям
#hints#midjourney | AcidCrunch
OpenAI — возвращение старых моделей
По просьбам большинства OpenAI откатила популярные модели и засунула их во вкладку «Старые модели» (её можно включить в настройках).
Появилось разделение и у новых моделей:
Авто-режим — сам выбирает модель за тебя.
Ручной режим — ты сам выбираешь, кого использовать.
И вот фишка:
Когда ты в авто, и он выбирает, например, 5 thinking — лимиты не тратятся. Но при этом и результат хуже: модель работает слабее, чем могла бы.
Почему?
Всё потому, что авто-режим выбирает её за тебя, используя не «максималку своих возможностей», а что-то среднее.
Лучше выбирать думающую модель самостоятельно: и объём вывода больше, и лимитов обычной подписки за глаза — потратить их не успеешь).
😂 И не забывай репостить ага)
#hints#OpenAi | AcidCrunch
Figma-хак объединяем объекты в одну картинку через Figma EDIT
Сегодня проверил гипотезу: склеить два фото в одно PNG, кинуть в Edit image и попросить ИИ поменять героя. Работает!
💡 Как повторить за 60 сек:
1️⃣ Брось два портрета на холст, выровняй.
2️⃣ Ctrl + Shift + C → копия сразу как единый PNG.
3️⃣ Вставь обратно (Ctrl + V) — получишь слой Combined.png.
4️⃣ Shift + E → «Edit image», пиши промт что хочешь объединить. В моём случае было: "Замени персонажа справа на персонажа слева, фон и ракурс как справа"
5️⃣ Нажми Generate
Прикольно работает и с мокапами/иконками, если их тоже склеить в PNG.
Пока Figma не дала «multi-image reference», этот костыль спасает. И это бесплатно)
Если что то придумаете с таким workflow присылайте идеи и готовые решения в комменты
👇 Подпишись, сохрани и кидай друзьям
#hints#figma | AcidCrunch
Лайфаки Runway Gen-4 #2
Предоставь референсы :
поза марионетки + местоположение + персонаж.
Дай на них ссылки программе + добавь описание :
Поза из @img_1 Персонаж из @img_2 Сцена и композиция из @img_3
А Runway точно воспроизведёт нужную композицию!
Напоминаю безлимитка $95
#hints#runwayml | AcidCrunch
🏅Новичкам на канале
Собрал вам свои туториалы и боты — всё, что выходило на AcidCrunch. Может, пригодится:
Боты
MJ V7 Промт-мастер бот — помогает развивать идею и писать точные промты
Veo 3 Промт-мастер бот — Описание сюжета + обычный промт + Json формат + развитие идеи
Создание Anti spam бота через n8n
Glass-it картинку в стеклянную 3д-шку
Нейронки
Midjourney необычные ракурсы персонажа без сложных промтов
Послойная генерация в GPT — как строить сцены поэтапно и структурно
Скрытые фишки Higgsfield — как выжать максимум из видео генерации
Контроль Runway Reference — легко направлять поведение модели
Стабильный персонаж в Midjourney Edit Mode — как зацементировать образ
Figma
Hero Gradient в Figma — эффектный приём в UI, простой и мощный
Figma-хак объединяем объекты в одну картинку через Figma EDIT
И да, если ищешь конкретный контент — у меня работает система тегов. Просто кликни по хэштегу и выбери вкладку “Этот чат”. Там собраны все посты по теме.
Вот список наиболее популярных тут:
#ainews
#hints
#midjourney
#chatgpt
#figma
#runway
#higgsfield
#tutorial
#rumors
AcidCrunch