Содержание
  1. Как оживить фото в Grok: пошаговый разбор
  2. Какие фото подходят для анимации в Grok
  3. Промпт-каркас для анимации фото в Grok: шесть блоков
  4. Параметры ролика в Grok: длительность, пропорции, разрешение, звук
  5. Сколько стоит анимация фото в Grok
  6. Скрипт grok_animate.py: анимация фото в Grok через API
  7. Где пригодится анимация фото в Grok: четыре сценария
  8. Доступ и оплата Grok из России
  9. Чем анимация фото в Grok отличается от Sora 2 и Veo 3.1
  10. Чек-лист: анимация фото в Grok под свою задачу
Гайды

Grok: анимация фото — как оживить снимок и цена ролика

9 сентября 2026 · 13 минут чтения

Материал редакции Зерокодера. Параметры, дефолты и цены сняты с первоисточников 9 сентября 2026 года: docs.x.ai и docs.x.ai/openapi.json у xAI, developers.openai.com у OpenAI, ai.google.dev у Google. Обновлено: сентябрь 2026.

Анимация фото в Grok делается в режиме image-to-video внутри Grok Imagine: загруженный снимок становится первым кадром, промпт задаёт движение, на выходе ролик от 1 до 15 секунд со звуковой дорожкой. По машинному контракту xAI длительность по умолчанию — 8 секунд, разрешение — 480p, а 1080p доступно на grok-imagine-video-1.5. Секунда генерации по API стоит от 0,08 $ в 480p до 0,25 $ в 1080p.

Главное:

  • Оживление снимка живёт в Grok Imagine и принимает JPEG, PNG или WebP; промпт для этого режима необязателен.
  • Длительность ролика — от 1 до 15 секунд при дефолте 8; разрешение выбирается из трёх значений, по умолчанию самое низкое.
  • Пропорцию кадра диктует сам снимок: схема запроса GenerateVideoRequest помечает поле aspect_ratio как игнорируемое для image-to-video.
  • Цена секунды растёт с разрешением: пятисекундный ролик стоит 0,40 $ в 480p и 1,25 $ в 1080p, а со снимком подписка SuperGrok за 30 $ окупается с 73 или с 23 таких роликов.

Как оживить фото в Grok: пошаговый разбор

Оживление снимка в Grok — режим image-to-video внутри Grok Imagine, где картинка становится первым кадром ролика. Документация xAI описывает механику дословно: «Transform a still image into a video by providing a source image along with an optional prompt».

  1. Открыть Grok на grok.com или в приложении и переключиться в Imagine.
  2. Загрузить снимок: публичной ссылкой, base64-строкой data URI или file_id из Files API — три способа со страницы Image-to-Video на docs.x.ai.
  3. Описать движение. Промпт необязателен: схема помечает его как optional, и без него модель оживляет картинку сама.
  4. Задать длительность и разрешение: в приложении переключателями, в API параметрами duration и resolution.
  5. Забрать ролик. Генерация асинхронна: запрос возвращает идентификатор, статус опрашивается до готовности.

Отличие от генерации по тексту механическое: поле image без соседей означает image-to-video, а вместе с last_frame или reference_images тот же запрос становится reference-to-video с закреплённым первым кадром. Про чат-движок — Grok: нейросеть Илона Маска, про Imagine целиком — обзор и критика Grok Imagine, сценарии с ботами — хаб Grok боты.

Мини-вывод: анимация фото отличается от генерации видео одним полем запроса, и оно фиксирует ваш кадр.

Какие фото подходят для анимации в Grok

Grok анимирует снимок тем чище, чем меньше модели приходится додумывать. Схема ImageUrl в машинном контракте xAI принимает JPEG, PNG и WebP — и ничего больше.

Резкость лица. Первый кадр модель берёт как есть, поэтому мягкий фокус и шум разойдутся по ролику.

Готовая пропорция. Кадр ролика наследует пропорцию исходника, поэтому вертикаль под сторис режется до 9:16 в редакторе, до загрузки.

Отсутствие смаза. Снимок с готовым размытием даёт противоречивый первый кадр: модель достраивает движение поверх зафиксированного.

Мини-вывод: снимок готовится до загрузки — формат, кадрирование и резкость решаются в редакторе.

Промпт-каркас для анимации фото в Grok: шесть блоков

Промпт оживления собирается из шести блоков, каждый закрывает свой источник ошибок. Каркас собран редакцией Зерокодера под режим image-to-video и приводится целиком.

Блок Что писать Зачем
КАДР что на снимке: кто, что, где опора на реальном содержимом
ДВИЖЕНИЕ один-два оживающих объекта ограничивает зону изменений
ЗАМОК что остаётся неизменным удерживает лицо, одежду, надписи
КАМЕРА статика, наезд или параллакс отделяет сцену от объектива
СВЕТ И ТЕМП характер света и скорость задаёт настроение
ЗВУК что слышно или тишина дорожка генерируется по умолчанию

Заполненный пример под портрет:

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

Блок ЗАМОК забывают чаще прочих, и он отвечает за «уехавшее лицо»: модель меняет всё, что разрешено молчанием. Общая механика промптов — как правильно писать промты.

Мини-вывод: описывайте не только движение, но и границы, за которые движению выходить запрещено.

Параметры ролика в Grok: длительность, пропорции, разрешение, звук

Параметры генерации видео заданы схемой GenerateVideoRequest в машинном контракте xAI; таблица собрана чтением этой схемы 9 сентября 2026 года.

Параметр Допустимые значения По умолчанию
duration целое от 1 до 15 секунд 8
aspect_ratio 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3 16:9 для текстового режима
resolution 480p, 720p, 1080p 480p
prompt текст описания необязателен для image-to-video
image ссылка, base64 или file_id обязателен для оживления снимка

Здесь же — расхождение внутри документации самой xAI, найденное сверкой двух страниц. Гайд Video Generation утверждает: «If you specify the aspect_ratio parameter, it will override this and stretch the image to the desired aspect ratio». Машинная схема GenerateVideoRequest в том же домене говорит обратное: «Ignored for image-to-video (first-frame image input): the aspect ratio is always derived from the input image». Два первоисточника одного вендора описывают поле противоположно, и вывод один: пропорцию решает кадрирование исходника, потому что поведение параметра не гарантировано.

1080p гайд разрешает на grok-imagine-video-1.5 для текста и картинки, reference-to-video ограничен 720p. Звуковая дорожка добавляется по умолчанию; параметр generate_audio=False описан в гайде, но в схеме запроса отсутствует — проверяйте своим запросом.

Мини-вывод: три параметра решают почти всё, а пропорция кадра — до отправки запроса.

Сколько стоит анимация фото в Grok

Единой цены секунды у Grok нет: docs.x.ai держит на grok-imagine-video-1.5 лестницу «Pricing per second based on resolution», и секунда в 1080p дороже 480p в 3,1 раза.

Разрешение Секунда Ролик 5 с Ролик 8 с (дефолт)
480p (дефолт) 0,08 $ 0,40 $ 0,64 $
720p 0,14 $ 0,70 $ 1,12 $
1080p 0,25 $ 1,25 $ 2,00 $

Предыдущая grok-imagine-video обрывается на 720p: 0,05 $ за секунду в 480p и 0,07 $ в 720p, входной снимок у неё 0,002 $. У grok-imagine-video-1.5 он дороже — «Input pricing … Image $0.01». Своя лестница и у картинки: grok-imagine-image-2.0 берёт по разрешению и качеству 1K·Low 0,04 $, 2K·Low и 1K·Medium 0,06 $, 2K·Medium 0,08 $; витрина показывает нижнюю ступень.

Порог окупаемости тоже не один: тридцать долларов — это 73 пятисекундных ролика в 480p, 42 в 720p или 23 в 1080p со входным снимком. Витрина x.ai/pricing ставит «Image and video generation» на SuperGrok за 30 $ в месяц, «Create 1080p videos» — на SuperGrok Plus за 100 $; у бесплатного плана генерации видео нет.

Мини-вывод: бюджет считается от разрешения и снимка.

Скрипт grok_animate.py: анимация фото в Grok через API

Скрипт grok_animate.py написан редакцией Зерокодера и приводится целиком: загружает снимок base64-строкой, печатает смету по лестнице цен docs.x.ai, опрашивает статус до потолка ожидания, разбирает ошибку. Значения параметров сверены со схемой GenerateVideoRequest в docs.x.ai/openapi.json.

# grok_animate.py — оживление снимка через Imagine API xAI.
# Параметры сверены со схемой GenerateVideoRequest (docs.x.ai/openapi.json, 09.09.2026).
import base64, os, time, requests

BASE = "https://api.x.ai/v1/videos"
HEAD = {"Content-Type": "application/json",
        "Authorization": f"Bearer {os.environ['XAI_API_KEY']}"}
# $/сек по лестнице разрешений и $/входной снимок, docs.x.ai/developers/models, 09.09.2026
PRICE = {"grok-imagine-video-1.5": {"480p": 0.08, "720p": 0.14, "1080p": 0.25},
         "grok-imagine-video":     {"480p": 0.05, "720p": 0.07}}
IN_IMAGE = {"grok-imagine-video-1.5": 0.01, "grok-imagine-video": 0.002}


def animate(photo: str, prompt: str, duration: int = 5,
            resolution: str = "1080p",
            model: str = "grok-imagine-video-1.5",
            timeout: int = 600) -> str:
    """Пропорцию ролика задаёт сам снимок — кадрируйте photo ДО вызова."""
    if resolution not in PRICE[model]:
        raise ValueError(f"{model} не умеет {resolution}: "
                         f"есть {', '.join(PRICE[model])}")
    rate = PRICE[model][resolution]          # цена секунды зависит от разрешения
    with open(photo, "rb") as f:
        b64 = base64.b64encode(f.read()).decode()

    body = {
        "model": model,
        "prompt": prompt,
        "image": {"url": f"data:image/jpeg;base64,{b64}"},
        "duration": duration,        # 1..15, дефолт 8
        "resolution": resolution,    # 480p | 720p | 1080p, дефолт 480p
    }
    rid = requests.post(f"{BASE}/generations", headers=HEAD, json=body).json()["request_id"]
    total = duration * rate + IN_IMAGE[model]   # входной снимок оплачивается отдельно
    print(f"{rid}: {duration} c x {rate} $ ({resolution}) + снимок {IN_IMAGE[model]} $ = {total:.2f} $")

    deadline = time.time() + timeout
    while time.time() < deadline:
        r = requests.get(f"{BASE}/{rid}", headers=HEAD).json()
        if r["status"] == "done":
            return r["video"]["url"]
        if r["status"] in ("failed", "expired"):
            err = r.get("error", {})
            raise RuntimeError(f'{r["status"]} [{err.get("code")}]: {err.get("message")}')
        time.sleep(5)
    raise TimeoutError(f"{rid}: ролик не готов за {timeout} c")


if __name__ == "__main__":
    with open("prompt.txt", encoding="utf-8") as p:
        print(animate("portrait.jpg", p.read(), duration=5))

Статус принимает четыре значения: pending, done, expired, failed. Упавшая генерация возвращает один из пяти кодов: invalid_argument (параметр или модерация), permission_denied (нет прав на видео), failed_precondition (модель не умеет разрешение), service_unavailable (перегрузка) и internal_error. Редактирование готового ролика длительность не принимает: результат сохраняет длину оригинала, потолок 8,7 секунды.

Мини-вывод: скрипт закрывает весь цикл — смету, загрузку, ожидание и внятную ошибку.

Где пригодится анимация фото в Grok: четыре сценария

Анимация фото в Grok закрывает четыре типовые задачи, каждая упирается в свой параметр запроса.

Соцсети. Вертикальный ролик под сторис и Reels: кадр 9:16 задаётся обрезкой снимка до загрузки, потому что пропорцию ролик наследует от исходника.

Товарные карточки. Пятисекундное оживление предметной съёмки стоит со входным снимком 0,41 $ в 480p и 1,26 $ в 1080p, двадцать позиций — 8,20 $ или 25,20 $. Блок ЗАМОК в промпте держит артикул, надписи и упаковку неподвижными.

Портреты и аватары. Резкий портрет переносит движение спокойнее всего; 1080p открывается на grok-imagine-video-1.5 и на плане SuperGrok Plus за 100 $.

Семейный архив. Скан старой фотографии оживает даже без промпта — для image-to-video он необязателен. Требование одно: JPEG, PNG или WebP.

Мини-вывод: сценарий меняет три вещи — пропорцию исходника, длительность и разрешение.

Доступ и оплата Grok из России

Оплата Grok идёт в долларах и с карты. Витрина x.ai/pricing на 9 сентября 2026 года показывает цену у трёх планов — Free за 0 $, SuperGrok за 30 $ и SuperGrok Plus за 100 $, — а таблица «Compare features across plans» перечисляет семь: сверх этих трёх идут SuperGrok Lite, SuperGrok Heavy, Business и Enterprise, все четыре без цены. Рублёвой цены нет ни у одного. Раздел Paid Accounts соглашения xAI задаёт механику: «we will automatically charge your payment method on each periodic renewal until you cancel», уплаченное там же названо невозвратным.

Второе — раздел Export Controls. Принимая соглашение, пользователь заявляет, что не находится и не является резидентом «any country or territory for which the United States maintains trade or economic sanctions or embargoes»; перечня стран в тексте нет, есть отсылка к спискам OFAC. Grok внутри X под соглашение не подпадает: «Use of Grok on the X platform is not governed by these Terms».

Официальный статус доступа и легальные замены — в материале Grok в России: доступ и аналоги.

Мини-вывод: подписка Grok долларовая и автопродлеваемая, а юридическую рамку задаёт раздел Export Controls.

Чем анимация фото в Grok отличается от Sora 2 и Veo 3.1

Отличий три: цена секунды, отношение к лицу человека на входе и срок жизни API.

Модель Секунда 720p Секунда 1080p Снимок на входе Звук
Grok, grok-imagine-video-1.5 0,14 $ 0,25 $ первый кадр, пропорция берётся из снимка по умолчанию
Sora 2, OpenAI 0,10 $ нет; sora-2-pro — 0,70 $ input_reference, размер картинки обязан совпадать с размером ролика есть
Veo 3.1, Google 0,40 $; Fast 0,10 $; Lite 0,05 $ 0,40 $; Fast 0,12 $; Lite 0,08 $ вход «Text, Image» «Video with audio»

Цены сведены к равному разрешению, иначе сравнение врёт: 0,080 $ у Grok — это только 480p, которого нет ни у Sora 2, ни у Veo. В 720p Grok дороже: 0,14 $ против 0,10 $ у sora-2 и у Veo 3.1 Fast, против 0,05 $ у Veo 3.1 Lite. В 1080p он обгоняет старших — 0,25 $ против 0,70 $ у sora-2-pro и 0,40 $ у Veo 3.1 Standard, — но облегчённые линейки Veo дешевле и там. Для портрета решает вторая строка: гайд Video generation у OpenAI предупреждает «Input images with faces of humans are currently rejected», а на страницах docs.x.ai запрета по лицам нет. Третье отличие срочное: та же страница держит баннер о закрытии Videos API вместе с sora-2 и sora-2-pro 24 сентября 2026 года.

Возможности Sora 2 — в разборе Sora 2; текстовая линейка Grok — что умеет Grok 4.1.

Мини-вывод: по цене секунды Grok обходит старшие модели только в 1080p, а портрет человека Sora 2 через API вообще не принимает.

Чек-лист: анимация фото в Grok под свою задачу

  • Кадрируйте снимок до загрузки: пропорция ролика наследуется от исходника.
  • Держите исходник в JPEG, PNG или WebP — других форматов схема не принимает.
  • Собирайте промпт по шести блокам и заполняйте ЗАМОК: без него первым уезжает лицо.
  • Ставьте duration осознанно: по умолчанию 8 секунд, то есть в 480p 0,64 $ вместо 0,40 $.
  • Проверьте разрешение: дефолт 480p, 1080p доступно на grok-imagine-video-1.5 и стоит в 3,1 раза дороже.
  • Считайте объём: подписка SuperGrok за 30 $ отбивается на 73 роликах в 480p и на 23 в 1080p.
  • Для потока берите grok_animate.py с потолком ожидания и разбором пяти кодов ошибки.

Читайте также

3 материала