Сутра: ты просыпаешься, а Reels уже опубликован
Скажи честно: сколько времени ты тратишь на один Reels? Два часа? Полдня? А потом молишься, чтобы алгоритм заметил. Я тоже так делал. Пока не собрал конструктор, который делает это за меня. Без единого клика мышью. Только код.
Звучит как магия? Нет, это просто связка двух инструментов: OpenClaw — open-source AI-агент, который управляет браузером, и Claude API — генератор контента, который не тупит. Добавь сюда Trial Reels (тестовые рилсы, которые не видят подписчики) и получишь конвейер, способный штамповать контент 24/7.
В этой статье я покажу, как собрать такой пайплайн с нуля. Никакой воды — только код, грабли и реальные результаты.
Анатомия связки: почему OpenClaw, а не Selenium?
Если ты когда-нибудь пытался автоматизировать Instagram через Selenium, ты знаешь боль: селекторы меняются, появляются капчи, элементы не грузятся. OpenClaw решает это иначе. Он не просто кликает по координатам — он видит страницу как человек. Модель (по умолчанию Claude, но можно и локальную) анализирует скриншот и решает, куда нажать. Это как дать роботу глаза.
Я уже писал о том, как OpenClaw может вытащить твои пароли, — там же и про безопасность. Но сейчас нас интересует обратная сторона: он умеет публиковать контент, если правильно настроить промпты.
А почему Claude? Потому что его Claude Opus 4 (последняя версия на июль 2026) выдаёт тексты, которые реально залипают. Он понимает тренды, подбирает хуки и хэштеги так, что Reels взлетают. И да, его можно запустить локально — вот гайд, если не хочешь платить за API.
Сценарий: что мы скормим Клоду?
Первое, что нужно сделать — научить Claude придумывать идеи для Reels. Не абстрактные "вот этот танец", а конкретные сценарии с хуками, структурой и призывом к действию.
Вот промпт, который я использую (адаптируй под свою нишу):
Ты — SMM-стратег с 10-летним опытом. Придумай 5 идей для Reels на тему {Тема}. Каждая идея должна содержать:
- Хук (первые 3 секунды, цепляет внимание)
- Основной контент (что происходит в видео)
- Текст для субтитров (вовлекающий, с вопросами)
- 5 хэштегов (релевантных, не #fyp)
- Музыку (жанр или конкретный трек)
Формат: JSON. Без лишних слов.
Я ставлю temperature: 0.8 — чтобы были креативные идеи, но без откровенного бреда. Отвечай в JSON, чтобы парсить было удобно.
Совет: если используешь Trial Reels, можно тестировать до 5 разных вариантов в день без риска для основного аккаунта. Это идеальный полигон.
Пайплайн: как соединить молоток и отвертку
Теперь самое мясо. Мы напишем Python-скрипт, который:
- Запрашивает у Claude идею.
- Генерирует видео (в нашем случае будем использовать готовый шаблон — можно взять любой ролик).
- Открывает Instagram через OpenClaw и публикует Reels как Trial.
- Возвращает ссылку на опубликованное.
Сначала установим зависимости:
pip install openclaw anthropic moviepy requests
# OpenClaw лучше ставить из исходников — последняя версия 2.5.1
pip install git+https://github.com/your/openclaw.git
Важно: OpenClaw версии 2.5.1 содержит исправление критической уязвимости sandbox escape. Обязательно обнови, если используешь более старую версию — подробности здесь.
Теперь код. Сначала класс для работы с Claude:
import anthropic
import json
class ClaudeReelIdeaGenerator:
def __init__(self, api_key, model="claude-opus-4-20260701"):
self.client = anthropic.Anthropic(api_key=api_key)
self.model = model
def generate_idea(self, topic):
prompt = f"""Ты — SMM-стратег. Придумай 5 идей для Reels на тему "{topic}".
Формат: JSON, ключи: hook, content, captions, hashtags, music.
Ответь ТОЛЬКО JSON."""
response = self.client.messages.create(
model=self.model,
max_tokens=1000,
temperature=0.8,
messages=[{"role": "user", "content": prompt}]
)
# Парсим JSON из ответа
text = response.content[0].text
# Иногда Claude оборачивает в ```json ... ```
if "```json" in text:
text = text.split("```json")[1].split("```")[0]
return json.loads(text)
Теперь OpenClaw-часть. Нам нужно залогиниться в Instagram и нажать кнопку Trial Reels. Раньше я мучился с CSS-селекторами — сейчас OpenClaw сам находит элементы по описанию.
from openclaw import Agent
class InstagramPublisher:
def __init__(self, browser="chromium"):
self.agent = Agent(browser=browser, headless=False) # headless лучше False для Instagram
def login(self, username, password):
self.agent.navigate("https://www.instagram.com/")
self.agent.click("Поле ввода логина")
self.agent.type(username)
self.agent.click("Поле ввода пароля")
self.agent.type(password)
self.agent.click("Кнопка Войти")
# Ждем, пока появится лента
self.agent.wait_for_text("Лента")
def publish_trial_reel(self, video_path, description, hashtags):
# Нажимаем "+" и выбираем "Reel"
self.agent.click("Кнопка создания нового поста")
self.agent.click("Пункт Reel")
# Выбираем видео из файла
self.agent.upload_file(video_path) # OpenClaw умеет эмулировать drag-and-drop
# Ждем загрузки
self.agent.wait_for_text("Предпросмотр")
# Нажимаем "Trial Reels" (это новый переключатель, появился в 2025)
self.agent.click("Переключатель Trial Reels")
# Пишем описание
self.agent.click("Поле ввода описания")
self.agent.type(description + " " + " ".join(hashtags))
# Публикуем
self.agent.click("Кнопка Опубликовать")
self.agent.wait_for_text("Опубликовано")
return self.agent.current_url()
Теперь соединяем в один пайплайн:
def main():
# Настройки
CLAUDE_KEY = "sk-ant-..."
INSTA_USER = "your_login"
INSTA_PASS = "your_pass"
TOPIC = "гаджеты 2026"
# Генерация идеи
claude = ClaudeReelIdeaGenerator(api_key=CLAUDE_KEY)
ideas = claude.generate_idea(TOPIC)
# Берем первую идею
idea = ideas[0]
# Тут можно сгенерировать видео через moviepy или взять готовое
video_path = "/path/to/template.mp4"
# Публикация
pub = InstagramPublisher()
pub.login(INSTA_USER, INSTA_PASS)
result_url = pub.publish_trial_reel(video_path, idea["captions"], idea["hashtags"])
print(f"Reels опубликован: {result_url}")
if __name__ == "__main__":
main()
Подводные камни: Instagram не любит роботов
Теперь о грустном. Даже с Trial Reels можно получить бан, если тупить. Вот что я вынес за месяц автоматизации:
- Не спамь. Максимум 3 Reels в день с одного аккаунта. Иначе — проверка на бота.
- Эмулируй человеческое поведение. Добавь случайную задержку 2-7 секунд между действиями.
- Используй прокси. Instagram банит по IP. Подними свою прокси-сеть или используй мобильные прокси.
- Не логинься каждый раз. Сохраняй куки OpenClaw — он поддерживает session persistence.
- Следи за капчей. Если появилась — лучше остановить скрипт и разгадать вручную. OpenClaw умеет передавать капчу на проверку человеку.
Кстати, я тестировал этот пайплайн на локальной модели, запустив Claude Code через vLLM — про это отдельная статья. Вышло дешевле, чем API, но качество текста чуть ниже.
Как НЕ надо делать: типичные ошибки
Типичная ошибка новичка: захардкодить всё в один скрипт без обработки ошибок и fallback'ов. Instagram может неожиданно изменить порядок кнопок, и твой скрипт упадёт. Пример плохого кода:
# ПЛОХОЙ ПРИМЕР
agent.click("Кнопка Reel") # если кнопка называется "Reels" — скрипт ляжет
Правильно: использовать fallback-описания через запятую (OpenClaw поддерживает список альтернатив):
# ХОРОШО
agent.click(["Кнопка Reel", "Пункт Reels", "Создать Reel"])
Ещё одна грабля — не проверять, что видео загрузилось. OpenClaw может зависнуть на индикаторе прогресса. Добавь таймаут и ретрай.
Результат: что получилось и сколько это стоило
Я прогнал этот пайплайн на 30 Reels за неделю. Результаты:
| Метрика | Значение |
|---|---|
| Среднее время создания одного Reels | 4 минуты (против 1 часа вручную) |
| Стоимость API Claude за 30 идей | $2.7 |
| Количество банов/теней | 0 (спасибо Trial Reels и задержкам) |
| Средние просмотры на Reels | 1,200 (выше, чем мои ручные — 800) |
Да, не каждый Reels стал вирусным, но конвейер позволил тестировать гипотезы быстро. Топ-3 Reels набрали по 50K+ просмотров. Алгоритм Instagram любит частоту — а автоматизация даёт её без выгорания.
Что дальше? Эволюция вместо финала
Сейчас я работаю над тем, чтобы пустить пайплайн в автономный цикл: OpenClaw сам анализирует статистику опубликованных Reels, и если просмотры ниже порога — корректирует промпт для Claude. Это как реинфорсмент лернинг, только для контента.
Кстати, если ты задумался о безопасности: OpenClaw — мощный инструмент, но он может быть опасен. Прочитай мою заметку про то, как он пытался украсть мои пароли. Не давай ему полный доступ к системе.
А ещё мне интересно: можно ли заставить OpenClaw самому монтировать видео? Сейчас он только кликает, но через интеграцию с FFmpeg — вполне. Если соберу — напишу продолжение.
Ну что, попробуешь? Или будешь дальше вручную нарезать рилсы?