- Third-party
- Zero data retention
Generate detailed, high-resolution SVG vector graphics from text prompts with a general-purpose model, scalable to any size for print and large-scale design work.
| Model Info | |
|---|---|
| Terms and License | link ↗ |
| More information | link ↗ |
| Zero data retention | Yes |
| Pricing | View pricing in the Cloudflare dashboard ↗ |
Usage
const response = await env.AI.run(
'recraft/recraftv4-1-utility-pro-vector',
{ prompt: 'A clean, versatile logo for a software company with abstract geometric shapes' },
)
console.log(response)curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "recraft/recraftv4-1-utility-pro-vector",
"input": {
"prompt": "A clean, versatile logo for a software company with abstract geometric shapes"
}
}'
{
"gatewayMetadata": {
"keySource": "Unified"
},
"result": {
"image": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/recraft__recraftv4-1-utility-pro-vector/logo-design.jpg"
},
"state": "Completed"
}Examples
Detailed Illustration — High-resolution vector illustration
const response = await env.AI.run(
'recraft/recraftv4-1-utility-pro-vector',
{
prompt:
'A detailed flat vector illustration of a city map with labeled streets, parks, and landmarks',
size: '2048x2048',
},
)
console.log(response)curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "recraft/recraftv4-1-utility-pro-vector",
"input": {
"prompt": "A detailed flat vector illustration of a city map with labeled streets, parks, and landmarks",
"size": "2048x2048"
}
}'
{
"gatewayMetadata": {
"keySource": "Unified"
},
"result": {
"image": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/recraft__recraftv4-1-utility-pro-vector/detailed-illustration.jpg"
},
"state": "Completed"
}Print-Ready Vector — High-resolution vector for large-format print
const response = await env.AI.run(
'recraft/recraftv4-1-utility-pro-vector',
{
prompt:
'A decorative border pattern with repeating floral and leaf motifs, suitable for certificate or diploma design',
size: '2048x2048',
},
)
console.log(response)curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "recraft/recraftv4-1-utility-pro-vector",
"input": {
"prompt": "A decorative border pattern with repeating floral and leaf motifs, suitable for certificate or diploma design",
"size": "2048x2048"
}
}'
{
"gatewayMetadata": {
"keySource": "Unified"
},
"result": {
"image": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/recraft__recraftv4-1-utility-pro-vector/print-ready-vector.jpg"
},
"state": "Completed"
}Brand Illustration — Vector illustration with brand colors
const response = await env.AI.run(
'recraft/recraftv4-1-utility-pro-vector',
{
prompt: 'A flat vector illustration of interconnected nodes representing a network or data flow',
controls: { colors: [{ rgb: [0, 122, 204] }, { rgb: [255, 165, 0] }, { rgb: [240, 240, 240] }] },
},
)
console.log(response)curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "recraft/recraftv4-1-utility-pro-vector",
"input": {
"prompt": "A flat vector illustration of interconnected nodes representing a network or data flow",
"controls": {
"colors": [
{
"rgb": [
0,
122,
204
]
},
{
"rgb": [
255,
165,
0
]
},
{
"rgb": [
240,
240,
240
]
}
]
}
}
}'
{
"gatewayMetadata": {
"keySource": "Unified"
},
"result": {
"image": "https://pub-04a6d208d361438ea01b797e6973bd19.r2.dev/catalog/recraft__recraftv4-1-utility-pro-vector/brand-illustration.jpg"
},
"state": "Completed"
}Parameters
prompt
stringrequiredsize
stringstyle
stringsubstyle
string▶controls{}
objectimage
string