---
title: Styles from references with Recraft V4 Styles — Recraft V4 Styles | Runware Docs
url: https://runware.ai/docs/models/recraft-v4-styles/guides/styles-from-references
description: "How to build a reusable style in Recraft V4 Styles: reference set strategy, styleId reuse across many generations, and same-family portability across the raster and vector tiers."
---
### [Introduction](https://runware.ai/docs/models/recraft-v4-styles/guides/styles-from-references#introduction)

The distinguishing capability of Recraft V4 Styles is **reference-driven style reuse**. Attach one to ten reference images on any generate call and the model builds an internal representation of the style they share, then returns a `styleId` that stands in for those references on every future call. The style ID persists in your workspace and works within its family (`styles` ↔ `styles-pro` for raster, `styles-vector` ↔ `styles-pro-vector` for vector).

The hero below was generated from the four flat vector illustrations under it, all sharing a mid-century modern aesthetic. **The prompt named a scene the references never showed**, but the flat-shape rendering, the muted palette, and the lack of gradients or shadows all carried through.

![Flat vector illustration of a cozy modern coworking space at sunset, a woman with a low bun typing on a laptop at a walnut desk, a man reading a magazine on a mid-century green sofa, a large monstera plant in the corner, floor-to-ceiling window casting long golden shadows across a wooden floor](https://runware.ai/docs/assets/hero.B7_IzKeD_Z1sbxFy.jpg)

> **Prompt**: A wide flat vector illustration of a cozy modern coworking space at sunset, a woman with a low bun typing on a laptop at a warm walnut desk, a man across from her reading a design magazine on a mid-century green sofa, a large monstera plant in the corner, floor-to-ceiling window on the right casting long soft golden shadows across the wooden floor.

**Reader on sofa**:

![Mid-century flat vector illustration of a person reading on a green sofa in a warm sunlit living room, small side table with coffee cup beside them](https://runware.ai/docs/assets/source-hero-ref-1.DGcU9_7j_Zn7JQy.jpg)

> **Prompt**: Mid-century modern flat vector illustration of a person reading a book on a mid-century green sofa in a warm sunlit living room, a small side table with a coffee cup beside them. Bold flat shapes, limited palette of deep teal, mustard yellow, salmon pink, warm cream, and charcoal outlines, no gradients or drop shadows.

**Cafe couple**:

![Mid-century flat vector illustration of a young couple sharing coffee at a small round cafe table by a large window in warm afternoon light](https://runware.ai/docs/assets/source-hero-ref-2.sABVwQhP_Z1YGuWv.jpg)

> **Prompt**: Mid-century modern flat vector illustration of a young couple sharing coffee at a small round mid-century modern cafe table by a large window, warm afternoon light. Bold flat shapes, limited palette of deep teal, mustard yellow, salmon pink, warm cream, and charcoal outlines, no gradients or drop shadows.

**Pottery workshop**:

![Mid-century flat vector illustration of a woman at a wooden pottery wheel shaping a bowl, a shelf of finished ceramic pieces on the wall behind her, warm workshop light](https://runware.ai/docs/assets/source-hero-ref-3.ixuC6CyE_Z5RDCw.jpg)

> **Prompt**: Mid-century modern flat vector illustration of a woman with a low bun at a wooden pottery wheel shaping a bowl, a shelf of finished ceramic pieces on the wall behind her, warm workshop light. Bold flat shapes, limited palette of deep teal, mustard yellow, salmon pink, warm cream, and charcoal outlines, no gradients or drop shadows.

**Cyclist**:

![Mid-century flat vector illustration of a cyclist in casual clothes riding through a tree-lined avenue at golden hour, small figure against a soft warm sky](https://runware.ai/docs/assets/source-hero-ref-4.C41hdZLl_o30Kh.jpg)

> **Prompt**: Mid-century modern flat vector illustration of a cyclist in casual clothes riding through a tree-lined avenue at golden hour, small figure against a soft warm sky. Bold flat shapes, limited palette of deep teal, mustard yellow, salmon pink, warm cream, and charcoal outlines, no gradients or drop shadows.

This guide covers what a good reference set looks like, how many references to attach, what the returned `styleId` lets you do, and how the same ID drives every V4 Styles variant.

### [Reference set strategy](https://runware.ai/docs/models/recraft-v4-styles/guides/styles-from-references#reference-set-strategy)

The reference set is the strongest lever on the output style. Two variables matter: **how many references** and **how similar they are to each other**.

**A single strong reference is enough to build a style.** Adding more references reinforces the shared elements between them and gives the model more angles on the style. Similar references (five images that share subject character, composition, and framing) sharpen the match. Diverse references (same visual language but varied subjects and compositions) widen the range of what the model considers "in style."

The three outputs below render the same target subject through the same watercolor botanical style, but with different reference sets. The target prompt is identical across all three: "A ceramic teapot pouring golden tea into a small cup, with a sprig of mint and loose tea leaves scattered on a warm wooden surface." The only variable is the reference set.

![Watercolor botanical illustration of a ceramic teapot pouring golden tea into a small cup, with a sprig of mint and loose tea leaves scattered on a warm wooden surface in natural morning light](https://runware.ai/docs/assets/output-refs-single.Btu4XCQn_ZKvQ60.jpg)

*1 reference (a single rosemary sprig)*

> **Prompt**: A ceramic teapot pouring golden tea into a small cup, with a sprig of mint and loose tea leaves scattered on a warm wooden surface, natural morning light.

![Watercolor botanical illustration of a ceramic teapot pouring golden tea into a small cup, with a sprig of mint and loose tea leaves scattered on a warm wooden surface](https://runware.ai/docs/assets/output-refs-similar.Erc3H79H_Z2nUGu5.jpg)

*5 similar references (all plant stills)*

> **Prompt**: A ceramic teapot pouring golden tea into a small cup, with a sprig of mint and loose tea leaves scattered on a warm wooden surface, natural morning light.

![Watercolor botanical illustration of a ceramic teapot pouring golden tea into a small cup, with a sprig of mint and loose tea leaves scattered on a warm wooden surface](https://runware.ai/docs/assets/output-refs-diverse.C-Tw_oDo_Z1GWTx1.jpg)

*10 diverse references (plants, insects, a bird nest)*

> **Prompt**: A ceramic teapot pouring golden tea into a small cup, with a sprig of mint and loose tea leaves scattered on a warm wooden surface, natural morning light.

The single-reference output holds the botanical watercolor character on the target subject, and **would ship as-is for many use cases**. The five-similar output sharpens the match on the reference character (loose brush strokes, natural pigment washes, botanical journal composition). The ten-diverse output widens the model's read of the style: the target subject is rendered in that same watercolor language, but with slightly more compositional freedom because the reference pool included insects and a bird's nest alongside the plant stills.

The full ten-reference pool used across the second and third outputs is below.

![Watercolor botanical illustration of a sprig of rosemary on cream paper](https://runware.ai/docs/assets/source-botanical-1.DzealTAb_ZCGn8M.jpg)

> **Prompt**: Watercolor botanical illustration of a sprig of rosemary, loose brush strokes, natural pigment wash, botanical journal aesthetic, cream paper background.

![Watercolor botanical illustration of a single wild California poppy in bloom on cream paper](https://runware.ai/docs/assets/source-botanical-2.Ch8UbYTq_LlxWU.jpg)

> **Prompt**: Watercolor botanical illustration of a single wild California poppy in bloom, loose brush strokes, natural pigment wash, botanical journal aesthetic, cream paper background.

![Watercolor botanical illustration of a pomegranate cut in half showing the seeds inside, on cream paper](https://runware.ai/docs/assets/source-botanical-3.3CvIsPod_Z282iDe.jpg)

> **Prompt**: Watercolor botanical illustration of a pomegranate cut in half showing the seeds inside, loose brush strokes, natural pigment wash, botanical journal aesthetic, cream paper background.

![Watercolor botanical illustration of a single pine cone on cream paper](https://runware.ai/docs/assets/source-botanical-4.mC5K-Q7y_ZW5t8b.jpg)

> **Prompt**: Watercolor botanical illustration of a single pine cone, loose brush strokes, natural pigment wash, botanical journal aesthetic, cream paper background.

![Watercolor botanical illustration of a loose bunch of fresh mixed herbs on cream paper](https://runware.ai/docs/assets/source-botanical-5.BBXbPn5D_Z1i6CEI.jpg)

> **Prompt**: Watercolor botanical illustration of a loose bunch of fresh mixed herbs (basil, sage, thyme), loose brush strokes, natural pigment wash, botanical journal aesthetic, cream paper background.

![Watercolor botanical illustration of a single monarch butterfly with wings open, isolated on cream paper](https://runware.ai/docs/assets/source-botanical-6.DpNyY8tQ_Z2kpBEc.jpg)

> **Prompt**: Watercolor botanical illustration of a single monarch butterfly with wings fully open, isolated on a cream paper background, loose brush strokes, natural pigment wash, botanical journal aesthetic.

![Watercolor botanical illustration of a small snail resting on a single mushroom cap, isolated on cream paper](https://runware.ai/docs/assets/source-botanical-7.AwDaFSU9_fMFa2.jpg)

> **Prompt**: Watercolor botanical illustration of a small snail resting on a single mushroom cap, isolated on a cream paper background, loose brush strokes, natural pigment wash, botanical journal aesthetic.

![Watercolor botanical illustration of a single dragonfly with wings extended, isolated on cream paper](https://runware.ai/docs/assets/source-botanical-8.aYutu6uK_1tvQqO.jpg)

> **Prompt**: Watercolor botanical illustration of a single dragonfly with wings fully extended, isolated on a cream paper background, loose brush strokes, natural pigment wash, botanical journal aesthetic.

![Watercolor botanical illustration of a sprig of lavender in bloom on cream paper](https://runware.ai/docs/assets/source-botanical-9.CZlbRqyS_1KKX1P.jpg)

> **Prompt**: Watercolor botanical illustration of a sprig of lavender in bloom, loose brush strokes, natural pigment wash, botanical journal aesthetic, cream paper background.

![Watercolor botanical illustration of a small bird nest with three pale blue eggs on cream paper](https://runware.ai/docs/assets/source-botanical-10.DEl3J_fv_1qRQWd.jpg)

> **Prompt**: Watercolor botanical illustration of a small bird nest with three pale blue eggs, loose brush strokes, natural pigment wash, botanical journal aesthetic, cream paper background.

Practical guidance on picking a reference set:

- **One reference** works when the reference itself already captures the style cleanly and you don't need variation across generations.
- **Multiple similar references** work when the deliverable has a narrow style target and you want the model to lock hard on the reference's specific rendering.
- **Multiple diverse references (same style, varied subjects and compositions)** work when the deliverable will show many different subjects and you want the style to hold cleanly across all of them.

### [Reusing a style across many generations](https://runware.ai/docs/models/recraft-v4-styles/guides/styles-from-references#reusing-a-style-across-many-generations)

Once the first call returns a `styleId`, later calls pass it as `inputs.styleId` and **skip the reference upload entirely**. The generated style persists in your workspace and the ID is stable across future sessions.

TypeScriptPythoncURLCLIJSON

```typescript
import { createClient } from '@runware/sdk'

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

const [result] = await client.run({
  model: 'recraft:v4@styles',
  positivePrompt: 'A wide flat vector illustration of a woman meditating in lotus position on a soft grey mat in a bright modern living room, tall houseplant in the corner, morning sunlight through a large window casting long soft shadows across the pale wooden floor.',
  inputs: {
    styleId: '5b9e7c8a-1234-4b8f-9c5d-8f7e6a5b4c3d'
  },
  width: 1344,
  height: 768
})
```

```python
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": "recraft:v4@styles",
            "positivePrompt": "A wide flat vector illustration of a woman meditating in lotus position on a soft grey mat in a bright modern living room, tall houseplant in the corner, morning sunlight through a large window casting long soft shadows across the pale wooden floor.",
            "inputs": {
                "styleId": "5b9e7c8a-1234-4b8f-9c5d-8f7e6a5b4c3d"
            },
            "width": 1344,
            "height": 768
        })

asyncio.run(main())
```

```bash
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "imageInference",
      "taskUUID": "8e1f2a3b-4c5d-6e7f-8a9b-0c1d2e3f4a5b",
      "model": "recraft:v4@styles",
      "positivePrompt": "A wide flat vector illustration of a woman meditating in lotus position on a soft grey mat in a bright modern living room, tall houseplant in the corner, morning sunlight through a large window casting long soft shadows across the pale wooden floor.",
      "inputs": {
        "styleId": "5b9e7c8a-1234-4b8f-9c5d-8f7e6a5b4c3d"
      },
      "width": 1344,
      "height": 768
    }
  ]'
```

```bash
runware run recraft:v4@styles \
  positivePrompt="A wide flat vector illustration of a woman meditating in lotus position on a soft grey mat in a bright modern living room, tall houseplant in the corner, morning sunlight through a large window casting long soft shadows across the pale wooden floor." \
  inputs.styleId=5b9e7c8a-1234-4b8f-9c5d-8f7e6a5b4c3d \
  width=1344 \
  height=768
```

```json
{
  "taskType": "imageInference",
  "taskUUID": "8e1f2a3b-4c5d-6e7f-8a9b-0c1d2e3f4a5b",
  "model": "recraft:v4@styles",
  "positivePrompt": "A wide flat vector illustration of a woman meditating in lotus position on a soft grey mat in a bright modern living room, tall houseplant in the corner, morning sunlight through a large window casting long soft shadows across the pale wooden floor.",
  "inputs": {
    "styleId": "5b9e7c8a-1234-4b8f-9c5d-8f7e6a5b4c3d"
  },
  "width": 1344,
  "height": 768
}
```

The four outputs below reuse the hero's `styleId` on **four separate calls**. They form the illustration set for a hypothetical wellness startup's product page: consistent flat vector language, consistent palette, consistent rendering character, four different scenes.

![Flat vector illustration of a woman meditating in lotus position on a soft grey mat in a bright modern living room, tall houseplant in the corner, morning sunlight through a large window casting long soft shadows across the pale wooden floor](https://runware.ai/docs/assets/output-reuse-meditation.DokH1y-m_Bl4VT.jpg)

*Meditation at home*

> **Prompt**: A wide flat vector illustration of a woman meditating in lotus position on a soft grey mat in a bright modern living room, tall houseplant in the corner, morning sunlight through a large window casting long soft shadows across the pale wooden floor.

![Flat vector illustration of a morning yoga session in a bright studio with tall arched windows, three women in warrior pose on soft rolled mats facing away from the camera, warm sunrise light streaming through the windows](https://runware.ai/docs/assets/output-reuse-yoga.DAnPtSDu_VlviK.jpg)

*Morning yoga studio session*

> **Prompt**: A wide flat vector illustration of a morning yoga session in a bright studio with tall arched windows, three women in warrior pose on soft rolled mats facing away from the camera, warm sunrise light streaming through the windows behind them, pale wooden floor.

![Flat vector illustration of a group of four friends hiking through a mixed pine and birch forest at midday, wearing colourful lightweight backpacks, a shallow stream visible ahead of them, warm dappled sunlight filtering through the canopy](https://runware.ai/docs/assets/output-reuse-hike.DCTvnGEU_h7AId.jpg)

*Group forest hike*

> **Prompt**: A wide flat vector illustration of a group of four friends hiking through a mixed pine and birch forest at midday, wearing colourful lightweight backpacks, a shallow stream visible ahead of them, warm dappled sunlight filtering through the canopy.

![Flat vector illustration of a young couple preparing a colourful healthy meal together in a modern warm-toned kitchen, one chopping vegetables at a walnut counter and the other stirring a pan on the stove, wooden shelves of jars visible on the back wall](https://runware.ai/docs/assets/output-reuse-cooking.DqymVD3W_Z21QV6r.jpg)

*Preparing a healthy meal together*

> **Prompt**: A wide flat vector illustration of a young couple preparing a colourful healthy meal together in a modern warm-toned kitchen, one chopping vegetables at a walnut counter and the other stirring a pan on the stove, wooden shelves of jars visible on the back wall, warm afternoon light.

The prompt differs completely across the four scenes, but **the visual language stays inside the reference world**. That is the workflow for brand illustration systems, editorial content series, product-page hero sets, campaign asset packs, and any output that needs many images in one look.

### [Same-family and cross-format reuse](https://runware.ai/docs/models/recraft-v4-styles/guides/styles-from-references#same-family-and-cross-format-reuse)

A `styleId` is portable **within its family**. A raster style ID built with `recraft:v4@styles` (1K raster) works with `recraft:v4@styles-pro` (2K raster). A vector style ID built with `recraft:v4@styles-vector` (1K SVG) works with `recraft:v4@styles-pro-vector` (2K SVG). The tier upgrade (1K → 2K) is the natural use case: build the style at 1K, ship the hero asset at 2K without re-uploading references.

> [!WARNING]
> Raster and vector style IDs **do not cross**. Passing a raster style ID to a vector model (or vice versa) fails with an unclear provider error. To ship both formats from the same reference set, build a raster style with the raster references and a separate vector style with the same references.

The first output below uses the hero's raster `styleId` on `styles-pro` for a 2K version of the same style. The second output shows the same reference set feeding `styles-vector` as a **fresh reference upload** (which creates a new vector style ID for reuse within the vector family).

![Flat vector illustration of a single vintage rotary telephone in mustard yellow at a three-quarter angle sitting on a warm walnut side table against a cream background](https://runware.ai/docs/assets/output-variant-pro.CiG1U8Rh_ZiS3pP.jpg)

*2K raster via recraft:v4@styles-pro (reusing hero's raster styleId)*

> **Prompt**: A single vintage rotary telephone in mustard yellow, three-quarter angle, sitting on a warm walnut side table, cream background, mid-century flat vector illustration, no gradients.

![SVG vector illustration of a single vintage rotary telephone in mustard yellow at a three-quarter angle sitting on a warm walnut side table against a cream background](https://runware.ai/docs/assets/output-variant-vector.DrPax3aW.svg)

*SVG via recraft:v4@styles-vector (fresh reference upload, new vector styleId)*

> **Prompt**: A single vintage rotary telephone in mustard yellow, three-quarter angle, sitting on a warm walnut side table, cream background, mid-century flat vector illustration, no gradients.

The raster version renders at 2K and ships as JPG. The vector version renders as SVG, editable in any vector tool, scalable to any output size without loss. Both share the same reference set and the same subject prompt, but they run through separate style pipelines.

For calls to the vector variants, the request uses `taskType: "vectorize"` instead of `imageInference`, but everything else about the request shape stays the same:

TypeScriptPythoncURLCLIJSON

```typescript
import { createClient } from '@runware/sdk'

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

const [result] = await client.run({
  model: 'recraft:v4@styles-vector',
  positivePrompt: 'A single vintage rotary telephone in mustard yellow, three-quarter angle, sitting on a warm walnut side table, cream background, mid-century flat vector illustration, no gradients.',
  inputs: {
    referenceImages: [
      'https://im.runware.ai/image/os/a14d18/ws/2/ii/aabb1122-3344-5566-7788-99aabbccddee.jpg',
      'https://im.runware.ai/image/os/a14d18/ws/2/ii/bbcc2233-4455-6677-8899-aabbccddeeff.jpg',
      'https://im.runware.ai/image/os/a14d18/ws/2/ii/ccdd3344-5566-7788-99aa-bbccddeeff00.jpg',
      'https://im.runware.ai/image/os/a14d18/ws/2/ii/ddee4455-6677-8899-aabb-ccddeeff0011.jpg'
    ]
  },
  width: 1024,
  height: 1024
})
```

```python
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": "recraft:v4@styles-vector",
            "positivePrompt": "A single vintage rotary telephone in mustard yellow, three-quarter angle, sitting on a warm walnut side table, cream background, mid-century flat vector illustration, no gradients.",
            "inputs": {
                "referenceImages": [
                    "https://im.runware.ai/image/os/a14d18/ws/2/ii/aabb1122-3344-5566-7788-99aabbccddee.jpg",
                    "https://im.runware.ai/image/os/a14d18/ws/2/ii/bbcc2233-4455-6677-8899-aabbccddeeff.jpg",
                    "https://im.runware.ai/image/os/a14d18/ws/2/ii/ccdd3344-5566-7788-99aa-bbccddeeff00.jpg",
                    "https://im.runware.ai/image/os/a14d18/ws/2/ii/ddee4455-6677-8899-aabb-ccddeeff0011.jpg"
                ]
            },
            "width": 1024,
            "height": 1024
        })

asyncio.run(main())
```

```bash
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "vectorize",
      "taskUUID": "3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
      "model": "recraft:v4@styles-vector",
      "positivePrompt": "A single vintage rotary telephone in mustard yellow, three-quarter angle, sitting on a warm walnut side table, cream background, mid-century flat vector illustration, no gradients.",
      "inputs": {
        "referenceImages": [
          "https://im.runware.ai/image/os/a14d18/ws/2/ii/aabb1122-3344-5566-7788-99aabbccddee.jpg",
          "https://im.runware.ai/image/os/a14d18/ws/2/ii/bbcc2233-4455-6677-8899-aabbccddeeff.jpg",
          "https://im.runware.ai/image/os/a14d18/ws/2/ii/ccdd3344-5566-7788-99aa-bbccddeeff00.jpg",
          "https://im.runware.ai/image/os/a14d18/ws/2/ii/ddee4455-6677-8899-aabb-ccddeeff0011.jpg"
        ]
      },
      "width": 1024,
      "height": 1024
    }
  ]'
```

```bash
runware run recraft:v4@styles-vector \
  positivePrompt="A single vintage rotary telephone in mustard yellow, three-quarter angle, sitting on a warm walnut side table, cream background, mid-century flat vector illustration, no gradients." \
  inputs.referenceImages.0=https://im.runware.ai/image/os/a14d18/ws/2/ii/aabb1122-3344-5566-7788-99aabbccddee.jpg \
  inputs.referenceImages.1=https://im.runware.ai/image/os/a14d18/ws/2/ii/bbcc2233-4455-6677-8899-aabbccddeeff.jpg \
  inputs.referenceImages.2=https://im.runware.ai/image/os/a14d18/ws/2/ii/ccdd3344-5566-7788-99aa-bbccddeeff00.jpg \
  inputs.referenceImages.3=https://im.runware.ai/image/os/a14d18/ws/2/ii/ddee4455-6677-8899-aabb-ccddeeff0011.jpg \
  width=1024 \
  height=1024
```

```json
{
  "taskType": "vectorize",
  "taskUUID": "3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
  "model": "recraft:v4@styles-vector",
  "positivePrompt": "A single vintage rotary telephone in mustard yellow, three-quarter angle, sitting on a warm walnut side table, cream background, mid-century flat vector illustration, no gradients.",
  "inputs": {
    "referenceImages": [
      "https://im.runware.ai/image/os/a14d18/ws/2/ii/aabb1122-3344-5566-7788-99aabbccddee.jpg",
      "https://im.runware.ai/image/os/a14d18/ws/2/ii/bbcc2233-4455-6677-8899-aabbccddeeff.jpg",
      "https://im.runware.ai/image/os/a14d18/ws/2/ii/ccdd3344-5566-7788-99aa-bbccddeeff00.jpg",
      "https://im.runware.ai/image/os/a14d18/ws/2/ii/ddee4455-6677-8899-aabb-ccddeeff0011.jpg"
    ]
  },
  "width": 1024,
  "height": 1024
}
```

The response returns an `imageURL` pointing at the SVG file and an `outputs.styleId` that stands for the vector style built from those references. Reuse that ID with any vector variant (`styles-vector` or `styles-pro-vector`), not with the raster variants.

### [Tips](https://runware.ai/docs/models/recraft-v4-styles/guides/styles-from-references#tips)

1. **A single strong reference is enough to lock a style.** Reach for multiple references when you want the model to reinforce a specific rendering, or when the deliverable will render many different subjects in one look.
    
2. **Similar references sharpen the match, diverse references widen the range.** For a narrow style lock, use references that share subject character and composition. For a style that has to hold across varied subjects, use references that already show that variation.
    
3. **Keep references above 256 × 256 pixels and under 10 MB each.** Total attachment for a single request is capped at 64 MB. The model reads image content, not filename or metadata.
    
4. **Store the `styleId` from the first response.** Every subsequent call in the same style skips the reference upload. Same output, faster call, no re-upload of the source references.
    
5. **The style ID is portable within its family.** Raster style IDs work with `styles` and `styles-pro`. Vector style IDs work with `styles-vector` and `styles-pro-vector`. To ship both raster and vector from the same reference set, build two style IDs (one per family) from the same references.
    
6. **The style ID persists in your workspace.** Store it alongside the assets you generate so later pipelines can pick up the same look without needing the source references again.
    
7. **References can come from anywhere.** Prior Runware generations, other model outputs, brand asset libraries, editorial photography, scans of physical illustration or design work. The model reads the image content, so any style visible in the file will inform the built style.