Skip to main content
POST
/
v1
/
generate
/
lucy-image-2
Lucy Image 2
const form = new FormData();
form.append('prompt', '<string>');
form.append('data', '<string>');
form.append('reference_image.0', '{
  "fileName": "example-file"
}');

const options = {method: 'POST', headers: {'x-api-key': '<api-key>'}};

options.body = form;

fetch('https://api.decart.ai/v1/generate/lucy-image-2', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
import requests

url = "https://api.decart.ai/v1/generate/lucy-image-2"

files = {
"data": ("example-file", open("example-file", "rb")),
"reference_image.0": ("example-file", open("example-file", "rb"))
}
payload = { "prompt": "<string>" }
headers = {"x-api-key": "<api-key>"}

response = requests.post(url, data=payload, files=files, headers=headers)

print(response.text)
HttpResponse<String> response = Unirest.post("https://api.decart.ai/v1/generate/lucy-image-2")
.header("x-api-key", "<api-key>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"prompt\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"data\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"reference_image.0\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
.asString();
val client = OkHttpClient()

val mediaType = MediaType.parse("multipart/form-data; boundary=---011000010111000001101001")
val body = RequestBody.create(mediaType, "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"prompt\"\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"data\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"reference_image.0\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n{\r\n \"fileName\": \"example-file\"\r\n}\r\n-----011000010111000001101001--")
val request = Request.Builder()
.url("https://api.decart.ai/v1/generate/lucy-image-2")
.post(body)
.addHeader("x-api-key", "<api-key>")
.build()

val response = client.newCall(request).execute()
import Foundation

let parameters = [
[
"name": "prompt",
"value": "<string>"
],
[
"name": "data",
"value": "<string>",
"fileName": "example-file"
],
[
"name": "reference_image.0",
"value": "{
\"fileName\": \"example-file\"
}",
"fileName": "example-file"
]
]

let boundary = "---011000010111000001101001"

var body = ""
for param in parameters {
let paramName = param["name"]!
body += "--\(boundary)\r\n"
body += "Content-Disposition:form-data; name=\"\(paramName)\""
if let filename = param["fileName"] {
let contentType = param["contentType"]!
let fileContent = try String(contentsOfFile: filename, encoding: .utf8)
body += "; filename=\"\(filename)\"\r\n"
body += "Content-Type: \(contentType)\r\n\r\n"
body += fileContent
} else if let paramValue = param["value"] {
body += "\r\n\r\n\(paramValue)"
}
}

let postData = Data(body.utf8)

let url = URL(string: "https://api.decart.ai/v1/generate/lucy-image-2")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = ["x-api-key": "<api-key>"]
request.httpBody = postData

let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
curl --request POST \
--url https://api.decart.ai/v1/generate/lucy-image-2 \
--header 'Content-Type: multipart/form-data' \
--header 'x-api-key: <api-key>' \
--form 'prompt=<string>' \
--form data='@example-file' \
--form reference_image.0='@example-file'
"<string>"
{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}

Authorizations

x-api-key
string
header
required

Headers

x-api-key
string
required

API key for authentication

User-Agent
string | null

Body

multipart/form-data
prompt
string
required

Text prompt for the image generation

data
file
required

Image file to process

reference_image
file | null

Reference image file (optional)

seed
integer

Seed for the image generation

Required range: 0 <= x <= 4294967295
resolution
enum<string>
default:720p

Resolution of the image generation

Available options:
720p,
480p
enhance_prompt
boolean
default:true

Whether to enhance the prompt

Response

Successful Response

The response is of type file.