---
title: "Create Style"
method: POST
path: "/v1/styles"
tags: ["style"]
---

# Create Style

`POST /v1/styles`

## Request

- Base URL: `https://external.api.recraft.ai`
- URL: `https://external.api.recraft.ai/v1/styles`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/recraft/apis/recraft-ai-external-api/docs/v1/styles/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- object
  - `image_weights` number[]
  - `match` 'regular' | 'precise' | 'flexible'
  - `mix_policy` 'PaletteMatch' | 'MaxWeight'
  - `model` 'recraftv2' | 'recraftv2_raster' | 'recraftv2_vector' | 'recraftv3' | 'recraftv3_raster' | 'recraftv3_vector' | 'recraftv4' | 'recraftv4_raster' | 'recraftv4_vector' | 'recraftv4_pro' | 'recraftv4_pro_raster' | 'recraftv4_pro_vector' | 'recraftv4_1' | 'recraftv4_1_raster' | 'recraftv4_1_vector' | 'recraftv4_1_pro' | 'recraftv4_1_pro_raster' | 'recraftv4_1_pro_vector' | 'recraftv4_1_utility' | 'recraftv4_1_utility_raster' | 'recraftv4_1_utility_vector' | 'recraftv4_1_utility_pro' | 'recraftv4_1_utility_pro_raster' | 'recraftv4_1_utility_pro_vector' | 'recraftv4_styles' | 'recraftv4_styles_raster' | 'recraftv4_styles_vector' | 'recraftv4_styles_pro' | 'recraftv4_styles_pro_raster' | 'recraftv4_styles_pro_vector' | 'recraftv4_1_flash' | 'recraftv4_1_flash_raster'
  - `palette` PaletteSuggest
    - `background_color` ImageColor
      - `rgb` integer[]
      - `std` number[]
      - `weight` number
    - `colors` ImageColor[], required
      - `rgb` integer[]
      - `std` number[]
      - `weight` number
  - `private` boolean
  - `prompt` string
  - `source_style_weights` number[]
  - `source_styles` string[]
  - `style` 'any' | 'digital_illustration' | 'icon' | 'realistic_image' | 'vector_illustration' | 'logo_raster'
  - `image_urls` string[]: URLs or data URLs of the reference images. JSON counterpart of the uploaded files.

## Response `200`

OK

- CreateStyleResponse
  - `creation_time` string, date-time, required
  - `id` string, uuid, required
  - `is_private` boolean, required
  - `style` 'any' | 'digital_illustration' | 'icon' | 'realistic_image' | 'vector_illustration' | 'logo_raster', required
  - `credits` integer, required

## Other responses

- `4XX`: Request failed. The body is plain text (for example 401 `request unauthorized`) or JSON, so read it as text before parsing.
- `5XX`: Request failed. The body is plain text (for example 401 `request unauthorized`) or JSON, so read it as text before parsing.

---

[API](https://skmtc.dev/recraft/apis/recraft-ai-external-api.md) - [All operations](https://skmtc.dev/recraft/apis/recraft-ai-external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/recraft/apis/recraft-ai-external-api/revisions/2180aa45c034?raw)
