Skip to content

Recraft V4 Pro

IMAGErecraft-v4-pro

Recraft V4 Pro is the professional tier of Recraft’s V4 text-to-image model, holding finer detail and closer prompt adherence than the standard tier. Like every V4 tier it can generate in a custom style trained from your own reference images; each tier trains its own.

POST
/v2/workspaces/{workspace_id}/base-models/recraft-v4-pro/inferences
curl --request POST \
--url https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/recraft-v4-pro/inferences \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"prompt": "a knight standing in a snowy forest",
"aspect_ratio": "SQUARE_1K",
"transparency": false,
"guidance_file_reference_image": [
{
"url": "<file_url>"
}
]
}'
workspace_id
required
Workspace Id

Id of the workspace that owns the resource.

string format: uuid

Id of the workspace that owns the resource.

session_name
Any of:
string

Organize this run under a named session. A new session is created if none matches.

Idempotency-Key
string
<= 255 characters

Opaque key making this request safe to retry. The first request with a given key executes; a later request with the same key returns that first response with Idempotent-Replayed: true instead of executing again. The key covers the method, path, query, and body it was first used with; reusing it for a different request is rejected with 422. Replayable for 24 hours.

Media typeapplication/json
Recraft V4 Pro
object
prompt
required
Prompt
string
aspect_ratio
Aspect Ratio
string
default: SQUARE_1K
Allowed values: SQUARE_1K PORTRAIT_3_4_1K PORTRAIT_9_16_1K LANDSCAPE_4_3_1K LANDSCAPE_16_9_1K
transparency
Transparent Background
boolean
guidance_file_reference_image
Reference image

Guides style and content without being modified

Array<object>
InferenceFormFileRef

A single guidance/reference file supplied to a reference_image_list field.

The slot’s guidance type is fixed by the field it’s attached to; the caller supplies the file URL and, where the model supports per-file weighting, a weight.

object
url
required
Url
string
weight
Weight
number
nullable
prompt_language
Prompt Language

Advanced field.

string
nullable
Example
{
"prompt": "a knight standing in a snowy forest",
"aspect_ratio": "SQUARE_1K",
"transparency": false,
"guidance_file_reference_image": [
{
"url": "<file_url>"
}
]
}

Successful Response

Media typeapplication/json
ExecuteForgeOutput
object
inference_id
required
Inference Id

Unique identifier for this forge run.

string format: uuid
status
required
InferenceStatus

Current status: IN_PROGRESS.

string
Allowed values: in_progress complete failed cancelled deleted
estimated_price_creative_units
Any of:
number
poll_interval_seconds
required
Poll Interval Seconds

Suggested polling interval in seconds.

integer
created_at
required
Created At

Timestamp of when the run was created.

string format: date-time
session_id
Any of:
string format: uuid
normalized_parameters
Any of:
NormalizedInferenceParameters

Inference parameters after model-specific normalization.

These reflect the actual values used for generation, including model defaults applied for any parameters not explicitly set.

object
width
Any of:
integer
height
Any of:
integer
batch_size
Any of:
integer
num_inference_steps
Any of:
integer
guidance_scale
Any of:
number
duration_seconds
Any of:
number
fps
Any of:
integer
Example
{
"status": "in_progress"
}

Unauthenticated — missing or invalid Bearer token.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Forbidden — insufficient permissions, or the access token lacks the scope the operation requires.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Resource not found.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

The request with this Idempotency-Key is still running — retry after the number of seconds in Retry-After.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Invalid input parameters, or an Idempotency-Key reused for a different request.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Rate limited — retry after the number of seconds in Retry-After.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Internal server error.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}