Introduction
Recraft V4 Vector turns a written brief into an SVG file. Recraft built V4 for designers, with attention to composition, colour and clean geometry, and this endpoint calls its vector mode.
Key features & highlights
Clean, layered geometry
Shapes are separate paths, so you can recolour a fox's ear or move a badge ribbon without redrawing anything.
Colour schemes that hold
Palettes named in the prompt, such as teal and coral or cream and brown, were followed closely in our runs.
Wordmarks in the design
Short names like Rise & Crumb are lettered as part of the artwork.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Name the subject, the format (logo mark, badge, flat illustration), the palette and any wordmark in quotes. Up to 10,000 characters; the first sentence carries the most weight. at least 1 characters · at most 10000 characters |
aspect_ratio | No | 1:1 (default), 4:3, 3:4, 3:2, 2:3, 16:9 or 9:16. It sets the canvas proportions of the SVG; the ratio does not change the price. |
Pricing
$0.096 / SVG
One flat charge per delivered SVG regardless of the canvas ratio; failed requests and empty results cost nothing.
Use cases
Identity drafts
Explore marks and badges for a new business before handing the best one to a designer.
Web and app illustration
Create hero and empty-state illustrations that stay crisp on any display.
Packaging and labels
Draw label art that can be enlarged for print.
Prompt guide & pro tips
Lead with the format
Start with logo mark, emblem, badge or flat illustration so the model sets the right level of detail.
Keep marks simple
For logos, ask for flat or geometric shapes and two or three colours.
Proof the lettering
Check spelling and spacing, then adjust in a vector editor if needed.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "recraft/v4-vector/text-to-image",
"input": {
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette",
"aspect_ratio": "1:1"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.



