Recraft V4 Pro API
Recraft V4 Pro: higher-detail brand illustrations and design assets.
from$0.225/ image$0.2510% off
Model IDrecraft-v4-pro
Input
Text
Output
Image
Provider
1 providers
Aspect ratio
1:1 · 16:9 · 9:16 · 4:3 · 3:4 · 3:2 · 2:3
Recraft V4 Pro pricing
Prices are per unit; requests without a provider are routed to the cheapest provider that supports your parameters.
| Option | Price (USD) |
|---|---|
| All options | $0.225 / image 23 Credits |
Try Recraft V4 Pro before you integrate
Test output quality, compare provider prices and estimate cost before writing any code.
Input
Estimates use the current price catalog; prices are checked again on submission. Automatic routing may select another provider. Usage-based tasks settle after completion.
Result
IdleProvider estimates for this request
Recraft V4 Pro API reference
Endpoints, request fields and runnable examples for this model.
Base URL
https://01router.com/api/v1Quick start
Set API_KEY to your project key, then run a sample from your server. Replace example media URLs with your own public URLs.
Auto-routing chooses a provider that supports the request. Select a provider to see its input constraints and pinned request examples.
curl https://01router.com/api/v1/generations \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"model": "recraft-v4-pro",
"input": {
"prompt": "A cinematic shot of a red fox running through snow",
"aspect_ratio": "1:1"
}
}
JSON
# Replace GENERATION_ID with the id returned above; poll until status is "succeeded" or "failed"
curl https://01router.com/api/v1/generations/GENERATION_ID -H "Authorization: Bearer $API_KEY"Endpoints
Only endpoints relevant to this model are listed. Paths below include /api/v1. Click an endpoint to read its usage.
/api/v1/generationsCreate a generation (charges credits) · API key required
/api/v1/generations/{id}Get a generation; polls the provider while running · API key required
/api/v1/generations/{id}/cancelCancel a running generation (credits refunded) · API key required
/api/v1/quotePrice a request on every provider (no charge, no key needed) · Public · no key
/api/v1/images/generationsOpenAI-compatible image generation (waits for the result) · API key required
/api/v1/prompts?model=recraft-v4-pro&locale=en&page=1Prompt list, model categories and filters · Public · no key
/api/v1/prompts/{id}Prompt details · Public · no key
/api/v1/models/recraft-v4-proGet one model · Public · no key
Authentication
Send your API key as a Bearer token. Requests are billed to the key owner's credits.
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonInput
Send JSON with Content-Type: application/json. Model parameters belong inside input; model, provider and callback_url are top-level fields.
Request body
| Name | Type | Required | Description |
|---|---|---|---|
| model | string | Yes | "recraft-v4-pro" |
| provider | string | No | Pin a provider; omit to auto-route to the cheapest. One of: fal |
| input | object | Yes | Model parameters, see the input fields below. |
| callback_url | string | No | Optional public HTTPS webhook URL. The final task result is signed and delivered here; polling remains available. |
input · input fields
Required fields are marked explicitly. Other fields use the listed defaults when omitted.
| Name | Type | Required | Values | Default |
|---|---|---|---|---|
| prompt* | string | Yes | — | — |
| aspect_ratio | string | No | 1:1 | 16:9 | 9:16 | 4:3 | 3:4 | 3:2 | 2:3 | 1:1 |
Output
Creating a task does not mean generation has finished. Keep its id, poll until succeeded or failed, then read outputs or error. Amounts below are illustrative; actual charges depend on the request.
Task submitted
{
"id": "gen_example",
"object": "generation",
"model": "recraft-v4-pro",
"type": "image",
"provider": "fal",
"status": "processing",
"input": {
"prompt": "A cinematic shot of a red fox running through snow",
"aspect_ratio": "1:1"
},
"outputs": [],
"error": null,
"credits": 0,
"price_usd": 0,
"created_at": "2026-10-25T08:00:00.000Z",
"completed_at": null
}Task completed
{
"id": "gen_example",
"object": "generation",
"model": "recraft-v4-pro",
"type": "image",
"provider": "fal",
"status": "succeeded",
"input": {
"prompt": "A cinematic shot of a red fox running through snow",
"aspect_ratio": "1:1"
},
"outputs": [
"https://example.com/output.png"
],
"error": null,
"credits": 0,
"price_usd": 0,
"created_at": "2026-10-25T08:00:00.000Z",
"completed_at": "2026-10-25T08:01:00.000Z"
}Response fields
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Generation ID. Use it to query or cancel this task. |
| object | string | Yes | generation |
| model | string | Yes | recraft-v4-pro |
| type | string | Yes | image |
| provider | string | Yes | Provider |
| status | string | Yes | queued → processing → succeeded / failed. Stop polling at either terminal state. |
| input | object | Yes | Model parameters, see the input fields below. |
| outputs | string[] | Yes | Result URLs. Empty while processing; read after succeeded and save the files promptly. |
| error | string | null | Yes | Failure reason, or null when no failure is reported. |
| credits | number | Yes | Credits charged for this request. |
| price_usd | number | Yes | Request price in USD. |
| created_at | string | Yes | Creation time in ISO 8601 format. |
| completed_at | string | null | Yes | Completion time in ISO 8601 format; null before completion. |
Get the result
Poll every few seconds until status is succeeded or failed. Output URLs are provider-hosted and may expire — download them promptly. Or pass callback_url to get the result pushed.
curl "https://01router.com/api/v1/generations/GENERATION_ID" \
-H "Authorization: Bearer $API_KEY"queued → processing → succeeded / failed. Stop polling at either terminal state. Result URLs. Empty while processing; read after succeeded and save the files promptly.
Cancel a task
Cancellation depends on provider support and task state. A confirmed cancellation returns status: failed and error: Canceled by user. Unsupported or completed tasks return 409 not_cancelable.
curl -X POST "https://01router.com/api/v1/generations/GENERATION_ID/cancel" \
-H "Authorization: Bearer $API_KEY"Quote
Choose API quotes or frontend quotes: the API returns costs for currently available providers; frontend quotes read prices and billing fields from models and recalculate locally when inputs change.
curl "https://01router.com/api/v1/quote" -H "Content-Type: application/json" --data-binary @- <<'JSON'
{
"model": "recraft-v4-pro",
"input": {
"prompt": "A cinematic shot of a red fox running through snow",
"aspect_ratio": "1:1"
}
}
JSONPrompt API
Public read-only endpoints: no API key or credits required. Browse published examples for active models using combined model, source and scene filters.
curl "https://01router.com/api/v1/prompts?model=recraft-v4-pro&locale=en&page=1"
curl "https://01router.com/api/v1/prompts/PROMPT_ID?locale=en"Use modelSlug and prompt to construct the request body below for POST /generations. Generation still requires an API key and incurs model charges. Query GET /models/recraft-v4-pro for any additional required inputs.
OpenAI-compatible images
For OpenAI SDK integrations, use this endpoint with top-level prompt. It waits for the result and returns data[].url. For asynchronous tasks and the full model parameter set, use /generations.
curl "https://01router.com/api/v1/images/generations" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" --data-binary @- <<'JSON'
{
"model": "recraft-v4-pro",
"prompt": "A cinematic shot of a red fox running through snow"
}
JSON{
"created": 1792915200,
"data": [
{
"url": "https://example.com/output.png"
}
]
}Model schema
This public endpoint returns the model parameters and each provider’s supported constraints and prices.
curl "https://01router.com/api/v1/models/recraft-v4-pro"Errors
Check the HTTP status and error.message. Fix the request before retrying validation or authentication errors. A failed generation is reported in status and error on the task itself.
{
"error": {
"message": "Invalid or missing API key",
"code": "unauthorized"
}
}400Invalid body or parameter value
401Missing or invalid API key
402Not enough credits
404Unknown model or generation
409The task cannot be canceled (already finished, or the provider does not support canceling)
429Too many requests — retry after the given seconds
502Every provider rejected the task (credits refunded)
Use with AI
Give your coding assistant this model reference: endpoints, input constraints, output fields and request examples in plain text.
How does Recraft V4 Pro compare?
Specs and starting prices side by side. Test with the same prompt before you choose.
| Recraft V4 Pro | Recraft V4 | GPT Image 2.5 Flare | GPT Image 2.5 Sunburst | |
|---|---|---|---|---|
| Vendor | Recraft | Recraft | OpenAI | OpenAI |
| Starting price | $0.225 / image | $0.036 / image | $0.0036 / image | $0.0036 / image |
| Input | Text | Text | Text · Image | Text · Image |
| Provider | 1 providers | 4 providers | 6 providers | 6 providers |
| Aspect ratio | 1:1 · 16:9 · 9:16 · 4:3 · 3:4 · 3:2 · 2:3 | 1:1 · 16:9 · 9:16 · 4:3 · 3:4 · 3:2 · 2:3 | 1:1 · 4:3 · 3:4 · 16:9 · 9:16 · 3:2 · 2:3 | 1:1 · 4:3 · 3:4 · 16:9 · 9:16 · 3:2 · 2:3 |
Related models
Other models you can call with the same API key.
Recraft V4
Recraft V4: brand-consistent illustrations, icons and design assets.
GPT Image 2.5 Flare
OpenAI GPT Image 2.5 Flare: fast everyday generation and editing with precise text rendering.
GPT Image 2.5 Sunburst
OpenAI GPT Image 2.5 Sunburst: tighter control for demanding edits and premium creative.
Nano Banana 2.1
Google Gemini image model: consistent multi-reference editing, 1K–4K output.
Seedream 5.0 Pro
ByteDance Seedream 5.0 Pro: photoreal images, multilingual text and up to 10-reference editing.
Nano Banana 2
Gemini 3.1 Flash Image: fast generation and editing with strong text rendering, 1K–4K.