---
title: "Prompts: Guiding AI generation with text | Runware Docs"
url: https://runware.ai/docs/learn/prompts
description: How positive and negative prompts steer the generation process, with architecture-specific behavior and practical techniques.
relatedDocuments:
  - https://runware.ai/docs/learn/text-to-image
  - https://runware.ai/docs/learn/cfg-scale
---
## Introduction

Prompts are the primary interface between you and the model. The `positivePrompt` parameter defines **what you want to see**, while the optional `negativePrompt` defines **what you want to avoid**. Together, they steer the generation process at every step.

Behind the scenes, prompts are processed by a text encoder that converts natural language into numerical representations called **embeddings**. These embeddings capture semantic meaning, conceptual relationships, and stylistic cues, guiding the model toward (or away from) specific visual concepts during generation.

## Positive prompts

The `positivePrompt` is the only required text parameter. It describes the content, style, composition, and mood you want the model to produce.

![An astronaut floating inside a giant hourglass, simple composition](https://runware.ai/docs/assets/prompt-simple.D3xenHzp_ZWUeUm.jpg)

*Simple prompt*

> **Prompt**: An astronaut floating inside a giant hourglass

![An astronaut floating inside a giant hourglass in space with stars, glowing dust, galaxies, and golden sand, dreamy cinematic atmosphere](https://runware.ai/docs/assets/prompt-detailed.sueN3l5Q_Z19A9Id.jpg)

*Detailed prompt*

> **Prompt**: An astronaut floating inside a giant hourglass in space, surrounded by stars and glowing dust, with galaxies swirling faintly above and golden sand below. Dreamy, surreal, cinematic

A few things affect how your prompt is interpreted:

- **Term position matters.** Most models give more weight to terms that appear earlier in the prompt. Lead with your subject and key attributes, then add style and atmosphere terms after.
- **Specificity drives quality.** Vague prompts ("a nice picture") give the model too much freedom. Concrete nouns, adjectives, and spatial relationships ("a red car parked under a cherry blossom tree at sunset") produce more predictable results.
- **Style and medium terms work.** Terms like "oil painting", "cinematic lighting", "8k", "watercolor", or "low-poly 3D" effectively shift the aesthetic because models have learned strong associations between these terms and their visual representations.

## Negative prompts

The `negativePrompt` parameter specifies what the model should steer away from. It works through the same embedding process as the positive prompt but exerts an **opposing influence** during generation.

Negative prompts are effective for:

- **Removing common artifacts**: "blurry, distorted, deformed hands, extra fingers, watermark"
- **Excluding unwanted styles**: "cartoon, anime, sketch, painting" when you want photorealism
- **Avoiding specific elements**: "text, logo, frame, border" for clean outputs

```json
[
  {
    "taskType": "imageInference",
    "model": "civitai:101055@128078",
    "positivePrompt": "A professional headshot of a woman in a modern office",
    "negativePrompt": "blurry, distorted, extra fingers, watermark, text",
    "width": 1024,
    "height": 1024,
    "steps": 30
  }
]
```

> [!WARNING]
> **Not all models support negative prompts.** Guidance-distilled models like FLUX use a single-pass inference process that embeds guidance directly into the model weights. Without a separate unconditional prediction to contrast against, the negative prompt has nothing to work against. When using these models, the `negativePrompt` parameter is accepted by the API but will have no effect on the output. Check the model's architecture to confirm support.

## Prompt weighting

By default, every term in your prompt has equal influence. The `promptWeighting` parameter enables **fine-grained control** over how strongly individual terms affect the output, letting you boost or suppress specific concepts beyond what term position alone can achieve.

Two syntaxes are available:

### Compel syntax

Set `promptWeighting` to `"compel"` to use the following notation:

**Weighting**: increase or decrease attention on specific terms:

- `small+ dog, pixar style` : boost "small"
- `small dog, (pixar style)-` : reduce "pixar style"
- `small+++ dog` : stronger boost with multiple symbols
- `(small+ dog)++` : nested weighting
- `small dog, (pixar)1.2 style` : explicit weight multiplier

**Blend**: merge multiple conditioning prompts:

- `("small dog", "robot").blend(1, 0.8)` : blend two concepts with different weights

**Conjunction**: pass multiple clauses separately to the model:

- `("small dog", "pixar style").and()` : each clause processed independently

> [!NOTE]
> Compel prompt weighting adds approximately 0.2 seconds to inference time and incurs additional costs.

### sdEmbeds syntax

Set `promptWeighting` to `"sdEmbeds"` to use parentheses and brackets:

- `(small) dog, pixar style` : boost "small"
- `small dog, [pixar style]` : reduce "pixar style"
- `(small:2.5) dog` : explicit multiplier
- `(small dog:1.5), pixar style` : weight a multi-word phrase

Prompt weighting gives finer control than term position alone, letting you precisely balance competing concepts within a single prompt.

## The `__BLANK__` keyword

When using [IP Adapters](https://runware.ai/docs/learn/ip-adapters) or [FLUX Redux](https://runware.ai/docs/learn/ip-adapters#flux-redux) for image variation, you may want the model to focus entirely on the visual reference without any text guidance. Use `__BLANK__` as your `positivePrompt` for this purpose:

```json
[
  {
    "taskType": "imageInference",
    "model": "runware:101@1",
    "positivePrompt": "__BLANK__",
    "ipAdapters": [{
      "guideImage": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "model": "runware:105@1"
    }],
    "width": 1024,
    "height": 1024
  }
]
```

This tells the model to rely exclusively on the visual information from the reference image, creating variations without text influence.

## Tips

1. **Front-load the important stuff.** Put your subject and key attributes at the beginning of the prompt. Style and atmosphere terms can come later.
2. **Be specific, not verbose.** "A red 1967 Mustang on a coastal road at golden hour" outperforms "A really beautiful amazing car driving on a nice road with great lighting." Concrete beats adjective stacking.
3. **Use negative prompts for quality control.** A standard negative prompt like "blurry, distorted, low quality, watermark" acts as a quality floor across any positive prompt you write. Keep a reusable one for your projects.
4. **Check architecture support before relying on negative prompts.** If your model uses guidance distillation (like FLUX), negative prompts won't have any effect. Focus your effort on the positive prompt instead.
5. **Iterate on terms, not sentences.** When a prompt doesn't produce what you want, swap individual terms rather than rewriting everything. Change "sunset" to "golden hour" or "cinematic" to "dramatic" to isolate what's driving the output.