WaveSpeedAI APIRecraft AIRecraft AI Recraft 20b

Recraft Ai Recraft 20b

Recraft Ai Recraft 20b

Playground

Try it on WavespeedAI!

Recraft AI 20b delivers affordable, fast image generation. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

Recraft 20B — Design-Native Text-to-Image

Recraft 20B is a large-scale text-to-image model that “thinks in design language.” It is tuned for layouts, typography, brand-safe compositions, and clean text rendering, making it ideal for social graphics, ads, presentations, and product visuals where design quality matters as much as realism.


Why it stands out

  • Design-first image generation Strong understanding of layout, hierarchy, and composition for poster-style images, thumbnails, and marketing assets.

  • Sharp, readable text on images Generates high-quality embedded text—from short labels to longer headlines—directly inside the image.

  • Rich style system Curated style presets (for example, igital_illustration/grain make it easy to switch between illustration, painterly, and graphic styles without rewriting prompts.

  • Brand and identity friendly Handles logos, icons, and UI-like designs with improved anatomy, alignment, and visual consistency.

  • Vector-aware design Originates from a system that supports both raster and vector workflows, making it particularly strong for flat design, icons, and graphic illustration.


Key capabilities

  • Advanced prompt understanding for detailed scenes, characters, and layouts.
  • Stable composition suitable for posters, covers, landing-page hero sections, and ad creatives.
  • Improved anatomy and perspective compared to many generic art models.
  • Good text–image integration so titles, slogans, and labels feel part of the design rather than pasted on.

Controls and parameters

  • prompt – natural-language description of the scene, style, layout, and embedded text you want.
  • aspect_ratio – choose from standard ratios (for example 1:1, 16:9, 9:16) to match feeds, banners, and story formats.
  • style – select from model-defined style families such as igital_illustration/grainto quickly shift aesthetic direction.
  • enable_base64_output – when enabled via API, returns the image as a base64 string instead of a URL (useful for certain integrations).

Outputs are delivered as high-quality raster images suitable for web, slides, and print-oriented workflows.


Pricing

Simple per-image billing:

  • $0.022 per generated image

How to use

  1. Enter a prompt describing subject, composition, design style, and any on-image text (titles, slogans, labels).
  2. Choose an aspect_ratio that matches the target placement (for example, 16:9 for banners, 9:16 for vertical stories).
  3. Select a style preset that fits your use case (illustration, grainy poster look, etc.).
  4. (Optional) Enable base64 output if your integration needs inline image data instead of URLs.
  5. Run the job and download or embed the generated image from the response or dashboard.

Pro tips

  • Be explicit about layout (e.g., “centered character with headline at the top, small subtitle below”) to leverage Recraft’s design-native strengths.
  • For text-heavy designs, spell out exact wording and, if needed, describe typography (for example, “bold sans-serif headline, clean minimal layout”).
  • Use aspect ratios that match the final placement so you avoid cropping away important elements.
  • When exploring brand visuals, keep the core prompt stable and tweak style or minor wording to generate consistent variations.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/recraft-ai/recraft-20b" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "aspect_ratio": "1:1",
    "style": "realistic_image/b_and_w",
    "enable_base64_output": false
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
promptstringYes-The positive prompt for the generation.
aspect_ratiostringNo1:11:1, 16:9, 9:16, 4:3, 3:4The aspect ratio of the generated media.
stylestringNorealistic_image/b_and_wrealistic_image, realistic_image/b_and_w, realistic_image/enterprise, realistic_image/hard_flash, realistic_image/hdr, realistic_image/motion_blur, realistic_image/natural_light, realistic_image/studio_portrait, digital_illustration, digital_illustration/2d_art_poster, digital_illustration/2d_art_poster_2, digital_illustration/3d, digital_illustration/80s, digital_illustration/engraving_color, digital_illustration/glow, digital_illustration/grain, digital_illustration/hand_drawn, digital_illustration/hand_drawn_outline, digital_illustration/handmade_3d, digital_illustration/infantile_sketch, digital_illustration/kawaii, digital_illustration/pixel_art, digital_illustration/psychedelic, digital_illustration/seamless, digital_illustration/voxel, digital_illustration/watercolorStyle of the generated image.
enable_base64_outputbooleanNofalse-If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

© 2025 WaveSpeedAI. All rights reserved.