MODEL IDreve:2@1
live

Reve 2.1

Reve
by Reve

Reve 2.1 is Reve's flagship image model for generation and editing, built around a layout-based intermediate representation that makes image structure directly addressable. It is designed for dense scenes, fine typography, and precise iterative edits at native 4K, with stronger prompt understanding, world knowledge, and foreign-text rendering than Reve 2.0.

Reve 2.1

Prompting Reve 2.1

How to prompt Reve 2.1 for native 4K commercial imagery, from picking among seventeen preset aspect ratios to directing dense layout-aware compositions.

Reve 2.1 is a text-to-image model with two properties worth building prompts around: every output is native 4K at one of seventeen preset aspect ratios, and the model honors explicit counts and positions from the prompt. Ask for twelve items arranged across three shelves and you get twelve items across three shelves. The trade-off is cost: every generation is a 4K render at a flat $0.20, so iteration is expensive and prompts benefit from landing close on the first attempt.

The hero above is one prompt at native 4K. The banner shape and the specific arrangement of objects on the counter were both named in the prompt and both preserved in the render, which is the behaviour the rest of this guide teaches prompts against.

Request shape

Every call to Reve 2.1 needs a positivePrompt and optionally a preset width and height pair. Reference images and background removal live in inputs.referenceImages and settings.postprocessing and have their own guides.

import { createClient } from '@runware/sdk'

const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()

const [result] = await client.run({
  model: 'reve:2@1',
  positivePrompt: 'A vertical brand marketing banner for a boutique olive-oil brand. A single tall amber-glass olive-oil bottle with a warm cream label on a sunlit Mediterranean limestone counter. Warm afternoon light from the left. Photoreal editorial commercial photography.',
  width: 3328,
  height: 4608
})
import asyncio
import os

from runware import Runware


async def main():
    async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
        results = await client.run({
            "model": "reve:2@1",
            "positivePrompt": "A vertical brand marketing banner for a boutique olive-oil brand. A single tall amber-glass olive-oil bottle with a warm cream label on a sunlit Mediterranean limestone counter. Warm afternoon light from the left. Photoreal editorial commercial photography.",
            "width": 3328,
            "height": 4608
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "imageInference",
      "taskUUID": "c7d8e9f0-1234-5678-9abc-def012345678",
      "model": "reve:2@1",
      "positivePrompt": "A vertical brand marketing banner for a boutique olive-oil brand. A single tall amber-glass olive-oil bottle with a warm cream label on a sunlit Mediterranean limestone counter. Warm afternoon light from the left. Photoreal editorial commercial photography.",
      "width": 3328,
      "height": 4608
    }
  ]'
runware run reve:2@1 \
  positivePrompt="A vertical brand marketing banner for a boutique olive-oil brand. A single tall amber-glass olive-oil bottle with a warm cream label on a sunlit Mediterranean limestone counter. Warm afternoon light from the left. Photoreal editorial commercial photography." \
  width=3328 \
  height=4608
{
  "taskType": "imageInference",
  "taskUUID": "c7d8e9f0-1234-5678-9abc-def012345678",
  "model": "reve:2@1",
  "positivePrompt": "A vertical brand marketing banner for a boutique olive-oil brand. A single tall amber-glass olive-oil bottle with a warm cream label on a sunlit Mediterranean limestone counter. Warm afternoon light from the left. Photoreal editorial commercial photography.",
  "width": 3328,
  "height": 4608
}
Response
[
  {
    "taskType": "imageInference",
    "taskUUID": "c7d8e9f0-1234-5678-9abc-def012345678",
    "imageUUID": "8b4c2a1d-6f7e-4380-9c5a-1234567890ab",
    "imageURL": "https://im.runware.ai/image/os/a14d18/ws/2/ii/8b4c2a1d-6f7e-4380-9c5a-1234567890ab.jpg"
  }
]

A few things worth knowing beyond the parameter list:

  • positivePrompt has a larger character budget than most image models. Use the room for composition and lighting cues, not adjective stacking.
  • width and height are optional. Set them when the deliverable calls for a specific aspect. Omit them and Reve picks a shape from the prompt language, which is the fastest path to early iteration.
  • Output is native 4K at $0.20 per image. Iteration cost is real, so design the first prompt to land close and refine from there rather than exploring blindly.

Reference images, <frame>N</frame> addressing, and background removal have their own reference editing and remixing guide. Full parameter constraints and the closed list of valid width and height pairs live in the Reve 2.1 model reference.

Native 4K and aspect selection

Every Reve output ships around 16 megapixels regardless of shape. Seventeen preset dimension pairs cover the range from 4:1 web headers to 1:4 skyscraper ads. Pick the preset from the deliverable, not from round-number aesthetics.

The shapes that carry most commercial work:

  • Portrait 3:4 and 2:3 for posters and magazine covers. A theatrical one-sheet lands neatly at 2:3.
  • Square 1:1 for social feeds and product tiles.
  • Landscape 16:9 and 2:1 for banners and website heroes.
  • Extreme 4:1 or 1:4 for panoramic web headers and vertical skyscraper ads.

The full list of seventeen pairs is in the Reve 2.1 model reference. Copy the value directly or omit both fields.

Omit width and height entirely and Reve picks a preset from the prompt. Write "a vertical brand banner" and the shape lands in a portrait preset. Write "wide cinematic banner" and it lands in a wide landscape. That is the fastest path to iteration. Once the composition is right, pin the exact preset for the delivered render.

Prompt anatomy

A Reve prompt reads more reliably when it's built as a stack of layered clauses, each naming a different kind of information about the shot. Five layers do the work: subject, composition and framing, style, lighting, environmental detail. Each layer changes what the model returns. Skipping any of them hands that decision back to the model's defaults and the output drifts toward those defaults.

a modern single-storey coastal home in Portugal with a pale limestone facade and wide picture windows glowing warmly from inside, aerial three-quarter angle from mid-altitude, the home cut into the top edge of a sea cliff at the lower left third of the frame, editorial architectural photography with a warm cinematic colour grade, extreme detail on stone and glass, warm sunset light raking across the limestone from a low western sun, deep amber highlights on the window frames and a soft glow through the interior lit from within, the Atlantic dropping away on the right with breaking waves at the base of the cliff, salt haze softening the horizon, a pair of tall coastal pines framing the far edge
SubjectComposition and framingStyleLightingEnvironmental detail

Every layer is doing work. The subject layer anchors what the ad is about, a modern coastal home in a specific country. The composition layer picks the angle and the position in the frame, which is what makes the home read as a hero rather than a spec sheet. The style layer ties the render to architectural photography rather than architectural illustration. The lighting layer picks sunset over midday, which changes the tone before any other layer fires. The environmental detail layer grounds the home in a specific place with the weather around it and the landforms next to it.

Name the subject first. Reve weights earlier clauses in the prompt more heavily. Leading with the physical object anchors the composition around it. Leading with the style tunes the model for a treatment before it knows what to compose, which is why prompts that open with "a beautifully rendered..." often produce technically pretty images of the wrong thing.

The five layers are a scaffold, not a template. In practice they blur into each other, and the order inside a single sentence matters less than making sure each kind of information is somewhere in the prompt.

Dense scenes with explicit counts and positions

Image generation drifts when a prompt asks for a specific count of objects arranged in a specific way. Ask for twelve and get an approximation of "several." The response pattern that works on Reve is to enumerate the container, the count, and the position of each item, and Reve will place them in the order the prompt lists them.

The pitcher lands on the top left and the caddy on the bottom right, with the ten other pieces in their named positions in between. Twelve items, three shelves, four items per shelf, in the order the prompt lists them. The prompt names each piece and each position, and the render carries all twelve through to the output.

Name each item and its position. "A row of ceramic pieces" hands both count and arrangement to the model. "Top shelf, left to right: pitcher, bowl, plate, mug" constrains both. The prompt is longer, and the results are more consistent.

The pattern generalises past shelves. Grid layouts for asset sheets, seating charts on a hospitality visual, a lineup of product SKUs on a marketing hero, a table set with a specific menu, all work on the same principle: name the container along with the items in order.

Asking for "twelve items" without naming them returns twelve plausible items, but the composition drifts and the count is not guaranteed. The reliable pattern is to enumerate every item the count is supposed to cover.

Aesthetic direction

Reve responds to domain vocabulary for lens, framing, film stock, lighting, and mood. Naming a look in the vocabulary the discipline already uses produces more consistent output than describing the same look in adjectives.

The five categories worth knowing:

  • Lens language: focal length ("35mm", "50mm", "85mm portrait telephoto", "24mm wide-angle"), lens type ("macro", "anamorphic"), and depth-of-field descriptors ("shallow", "deep focus"). Each choice changes perspective and how much of the frame is sharp.
  • Shot framing: "close-up", "three-quarter medium", "wide establishing shot", "over-the-shoulder", "aerial". Framing decides how much of the subject and the setting share the frame.
  • Film references: "shot on 35mm film", "Kodak Portra warm grain", "black-and-white reportage grain", "high-contrast slide film". Film references pull colour palette and grain toward a specific look.
  • Lighting cues: "golden hour", "blue hour", "hard midday sun", "north-facing studio softbox", "single practical light". Lighting decides the mood before any other layer fires.
  • Mood and atmosphere: "quiet observational", "warm intimate", "tense", "editorial documentary", "high-fashion posed". Mood tunes the model's read on the situation, which changes both expression and the read of the room.

Every vocabulary category in the portrait above is doing specific work. "35mm film with soft warm grain" tunes the colour palette and grain structure toward long-form magazine reportage rather than digital sharpness. "85mm portrait telephoto, shallow depth of field" picks the lens characteristic that separates the subject from a busy background. "Quiet observational mood" nudges the read toward documentary photography rather than posed studio portraiture, which is why the expression reads as a working moment rather than a headshot.

Use the vocabulary the aesthetic uses. "Documentary" is more directive than "authentic-looking" for a photojournalistic brief. Adjectives work in most image models. Domain vocabulary works more reliably in this one.

Tips

  1. Use a preset or omit dimensions. Reve accepts one of seventeen preset width/height pairs, and free-form values return a validation error. Drop both fields for early iteration and let the prompt pick the shape.

  2. Match aspect to deliverable. Portrait ratios for posters and covers, square for social feeds and album art, landscape for banners and heroes, extreme wide or tall for panoramic headers and skyscraper compositions.

  3. Structure prompts in layers. Subject, composition and framing, style, lighting, environmental detail. Skipping any layer hands that decision to the model's defaults and the output drifts toward those defaults.

  4. Name explicit counts and positions. Reve treats spatial language as constraints. "Twelve items across three shelves, top shelf left to right..." returns twelve items in the named positions. "A row of items" returns whatever the model felt like.

  5. Speak the aesthetic vocabulary directly. Cinematographers say "85mm telephoto with shallow depth of field", not "close-up with blurred background". Photojournalists say "shot on 35mm film with warm grain", not "old-timey photograph". Use the terms the discipline already uses.

  6. Anchor the subject clause first. Reve weights earlier clauses of the prompt heavier. Leading with the physical subject anchors composition around it. Leading with style tunes the model for a treatment before it knows what to compose.

  7. Iterate at the same preset you'll deliver at. Every preset is native 4K, and there is no smaller preview tier to sanity-check at. Pick the preset that matches the deliverable and stay on it.

  8. Add postprocessing when the output needs it. settings.postprocessing runs after the model render. See the postprocessing guide for the request shape and the removeBackground step.

  9. Frame tags belong to references. The <frame>N</frame> tag addresses an image in inputs.referenceImages by its 0-based index. Read the reference and remixing guide before writing prompts with frame tags.