---
tab: "ai"
section: "imagePromptConfiguration"
title: "Image Prompt Configuration"
summary: "Custom prompt templates for AI image generation per content category, plus toggles for Voyage's default character and location art style. Author-provided strings layered on top of Voyage's default image prompts for NPC portraits, location art, and region art."
uiLocation: "AI → Image Prompts"
uiSubtitle: "\"Custom prompt templates for NPC, location, and region art\""
editor: "JSON only"
sizeLimits:
  - field: "`imagePromptConfiguration.npcs` / `.locations` / `.regions`"
    limit: "5,000 chars"
  - field: "`imagePromptConfiguration` (combined npcs+locations+regions)"
    limit: "15,000 chars"
related: "npcs - per-NPC portrait generation uses these templates; locations - location art layered onto location image generation; regions - region art layered onto region image generation"
wikiUrl: "/ai/imagePromptConfiguration"
---

# Image Prompt Configuration

## Example

```json
{
  "imagePromptConfiguration": {
    "npcs": "Style: painted oil portrait, soft warm light, period clothing, head-and-shoulders composition, neutral background.",
    "locations": "Style: matte painting, dramatic atmospheric lighting, weathered surfaces, no people in frame.",
    "regions": "Style: aerial concept art, broad landscape, painterly, time of day appropriate to region biome.",
    "characterLoraEnabled": true,
    "locationLoraEnabled": true
  }
}
```

## Fields

Populating a field injects your text into every image request for that category, useful for enforcing a consistent style across the world (e.g. "watercolor, soft edges, painterly" applied to every NPC portrait).

### npcs

`npcs`: prepended/appended to every NPC portrait generation request. Useful for locking down portrait style and framing without writing the same instruction in every NPC's `basicInfo`.

### locations

`locations`: applied to every location art request. Use for environment-consistency directives (camera angle, mood, art style).

### regions

`regions`: applied to every region art request. Region art is typically broader landscape framing; this slot enforces that.

### characterLoraEnabled

`characterLoraEnabled` (boolean): toggles Voyage's default character art style for character and NPC portrait generation. Labelled **"Voyage style for characters"** in the editor. Enabled by default: when `true`, portraits are generated with Voyage's house style applied on top of your `npcs` prompt; set `false` to drop the default style so your prompt and the base model drive the look on their own. Independent of `locationLoraEnabled`.

### locationLoraEnabled

`locationLoraEnabled` (boolean): toggles Voyage's default location art style for location and region art. Labelled **"Voyage style for locations"** in the editor. Enabled by default: when `true`, scene art uses Voyage's house style on top of your `locations`/`regions` prompts; set `false` to drop it. Independent of `characterLoraEnabled`.

> **📋 Note:** All five fields are optional. For the three prompt strings (`npcs`, `locations`, `regions`), the engine substitutes Voyage's default prompt when a field is empty or absent; keep them concise enough to not crowd out the actual content prompt. The two style toggles are on by default (Voyage's default style applied); set either to `false` to turn that default style off for its category.

## Differentiated prompts via labelled sections

A single `npcs` (or `locations` or `regions`) string can contain multiple labelled sections, and the image model sorts on the NPC's type/category when generating. Use this pattern when you want different style guidance for distinct character classes (humanoid vs. creature, civilian vs. military, undead vs. living) without authoring per-NPC prompts.

```json
{
  "imagePromptConfiguration": {
    "npcs": "Humanoid:\n[Style directives for human-form characters: anime portrait, cell-shaded line art, period-appropriate clothing tags, eye and hair colour anchors, full-body composition.]\n\nCreature / Non-humanoid:\n[Style directives for monsters, beasts, summons, constructs: scale and feature tags (horns, wings, tails, claws), no clothing tags, natural-stance posing, full-body silhouette must be visible.]\n\nUndead / Skeletal:\n[Style directives for undead characters: skeletal features, hollow or glowing eye treatment, decay-state tags by stage, posture and clothing reflecting the character's pre-death role.]"
  }
}
```

### How the sort works

**How the sort works:** the AI reads the NPC's `type`, `basicInfo`, and `visualDescription` together with the full IPC string and matches the section whose label best fits the character it is generating. A section labelled `Humanoid:` applies when the character reads as human-form; `Creature:` applies when the character reads as a beast or non-humanoid; etc. Sections that don't match are ignored for that generation.

### Labelling rules

**Labelling rules that improve sorting accuracy:**

- **Bold, capitalised labels** with a trailing colon — `Humanoid:`, `Creature:`, `Undead:`. The model uses the label as the sort key; lowercase or punctuation-soft labels read as prose.
- **One blank line between sections.** Helps the model treat them as distinct branches.
- **Mutually exclusive categories.** Overlapping labels (`Humanoid` + `Civilian` + `Military` all valid at once) produce inconsistent output. Pick one axis (form, role, faction, status) per IPC field.
- **Cover the full space.** If your NPC roster includes a category not represented by any section, the model falls back to whichever section is closest or to the engine default. A `Default:` or `Other:` catch-all section is worth including.

### Applying to locations and regions

The same pattern works for `locations` (interior vs. exterior, urban vs. wilderness, settled vs. ruined) and `regions` (climate biome, faction-controlled vs. wilderness, day vs. night).

> **📋 Note:** For a more structured pattern that splits each category prompt into a fixed style scaffold plus per-instance variable slots (and combines naturally with the labelled-sections approach above), see [Scaffold and variable-slot image prompts](/appendix/ai-advanced-techniques#scaffold-and-variable-slot-image-prompts) in the Advanced AI Techniques appendix.

## Schema

```json
{
  "_type": "partial",
  "fields": {
    "npcs": "string",
    "locations": "string",
    "regions": "string",
    "characterLoraEnabled": "boolean",
    "locationLoraEnabled": "boolean"
  }
}
```
