Как правильно составлять JSON-промпты для генерации изображений и видео

JSON-промпт — это структурированное описание сцены, создаваемое в формате JSON (JavaScript Object Notation), которое передаётся генеративным моделям изображений или видео (например, Stable Diffusion, Midjourney API, Runway, Pika, OpenAI, Kling, Krea и др.).
Его цель — сделать описание формализованным, чтобы алгоритм мог точно понять контекст, стиль и цели автора.


Базовая структура JSON-промпта

Пример универсальной структуры:

{
  "type": "image",
  "title": "Cyberpunk city at night",
  "description": "A futuristic city with neon lights and flying cars",
  "style": {
    "genre": "cyberpunk",
    "lighting": "neon, high contrast",
    "color_palette": ["purple", "blue", "pink"],
    "camera": {
      "angle": "wide",
      "lens": "35mm",
      "focus": "depth of field"
    },
    "mood": "energetic, mysterious"
  },
  "characters": [
    {
      "name": "main character",
      "gender": "female",
      "clothing": "leather jacket",
      "pose": "standing confidently",
      "expression": "focused"
    }
  ],
  "commands": {
    "resolution": "1920x1080",
    "aspect_ratio": "16:9",
    "quality": "high",
    "iterations": 30,
    "seed": 42
  }
}

Основные поля JSON-промта

ПолеНазначение
typeУказывает тип генерации: "image", "video", "animation", "3d"
titleКраткое описание сцены (для контекста)
descriptionОсновной текстовый промт (то, что видит модель)
styleОбъект с деталями художественного стиля, света, настроения, цвета и камеры
charactersМассив с описанием персонажей (если применимо)
commandsТехнические параметры вывода — размер, качество, seed, итерации и др.

Дополнительные поля для видео

{
  "type": "video",
  "duration": 10,
  "fps": 24,
  "camera_motion": "slow pan left",
  "transitions": "fade in/out",
  "audio": {
    "include": false,
    "music_style": "ambient"
  }
}

Пояснения:

  • duration — длительность видео в секундах.
  • fps — количество кадров в секунду.
  • camera_motion — тип движения камеры (например, "zoom in", "dolly out", "pan left").
  • transitions — переходы между сценами.
  • audio — параметры для саундтрека (если применимо).

Перечень часто используемых команд

КомандаЗначение
resolutionРазмер изображения (например, "1024x1024")
aspect_ratioСоотношение сторон (например, "16:9")
qualityКачество генерации (low, medium, high, ultra)
seedФиксированное значение для воспроизводимости результата
iterationsКоличество итераций/шагов генерации
guidance_scaleНасколько сильно модель следует промту
schedulerТип диффузионного алгоритма (ddim, pndm, euler, dpm++)
output_formatФормат вывода (png, mp4, gif)
negative_promptОписание того, чего не должно быть на изображении (например, "blurry, distorted, lowres")

Рекомендации по составлению JSON-промтов

  1. Используйте чёткую иерархию.
    Разделяйте художественное описание и технические параметры — это улучшает управляемость генерации.
  2. Делайте промт максимально конкретным.
    Указывайте стиль, освещение, настроение, композицию, точку съёмки.
  3. Работайте с negative_prompt.
    Это мощный инструмент контроля — помогает избежать артефактов, искажений или нежелательных деталей.
  4. Для видео — определяйте движение и длительность.
    Без camera_motion и duration модель может сгенерировать статичный или рваный результат.
  5. Не перегружайте описания.
    Оптимум — 50–150 слов в description. Слишком длинные промты дают шумные результаты.
  6. Фиксируйте seed при отладке.
    Чтобы получать воспроизводимые результаты при тестах.
  7. Добавляйте метаданные.
    Например, "author", "date_created", "version", если планируется работа в команде.

Пример полного JSON-промта для видео

{
  "type": "video",
  "title": "Sunrise over a futuristic desert city",
  "description": "A cinematic shot of a vast futuristic desert city with solar towers and flying drones under a golden sunrise",
  "style": {
    "genre": "sci-fi",
    "lighting": "warm morning glow",
    "color_palette": ["orange", "gold", "blue"],
    "camera": {
      "motion": "slow aerial pan",
      "focus": "city skyline"
    },
    "mood": "hopeful, majestic"
  },
  "commands": {
    "duration": 12,
    "fps": 30,
    "resolution": "1920x1080",
    "quality": "ultra",
    "guidance_scale": 8.5,
    "seed": 1234,
    "output_format": "mp4"
  },
  "negative_prompt": "foggy, low detail, dark, overexposed"
}

Пример JSON-промта с комментариями

{
«_comment»: «Шаблон JSON-промта для генерации изображений или видео»,
«type»: «image»,
«title»: «Название сцены»,
«description»: «Краткое описание того, что нужно сгенерировать»,
«style»: {
«_comment»: «Художественные параметры сцены»,
«genre»: «sci-fi, fantasy, portrait, landscape и т.д.»,
«lighting»: «natural, neon, cinematic»,
«color_palette»: [
«blue»,
«orange»,
«white»
],
«camera»: {
«angle»: «wide, close-up, top-down»,
«lens»: «35mm, 85mm»,
«focus»: «depth of field, background blur»
},
«mood»: «calm, dramatic, energetic»
},
«characters»: [
{
«_comment»: «Описание персонажей, если применимо»,
«name»: «main character»,
«gender»: «male/female/other»,
«clothing»: «describe outfit»,
«pose»: «describe pose»,
«expression»: «happy, serious, focused»
}
],
«commands»: {
«_comment»: «Технические параметры генерации»,
«resolution»: «1920×1080»,
«aspect_ratio»: «16:9»,
«quality»: «high»,
«iterations»: 30,
«guidance_scale»: 7.5,
«seed»: 42,
«scheduler»: «ddim»,
«output_format»: «png»
},
«video_params»: {
«_comment»: «Дополнительные поля для видео»,
«duration»: 10,
«fps»: 24,
«camera_motion»: «slow pan left»,
«transitions»: «fade in/out»,
«audio»: {
«include»: false,
«music_style»: «ambient»
}
},
«negative_prompt»: «blurry, distorted, lowres, bad anatomy»
}

Заключение

JSON-промт — это не просто текстовое описание, а структурированный сценарий для нейросети.
Хорошо оформленный JSON помогает моделям точнее понимать задумку, а создателю — воспроизводить и дорабатывать сцены в профессиональном формате.

Вам может также понравиться...

Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять