curl --request POST \
--url https://api.parallellabs.app/api/v0/images \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"prompt": "<string>",
"companyId": "<string>",
"height": 123,
"inputFidelity": "low",
"model": "<string>",
"quality": "auto",
"referenceImages": [
"<string>"
],
"size": "1024x1024",
"width": 123
}
'import requests
url = "https://api.parallellabs.app/api/v0/images"
payload = {
"prompt": "<string>",
"companyId": "<string>",
"height": 123,
"inputFidelity": "low",
"model": "<string>",
"quality": "auto",
"referenceImages": ["<string>"],
"size": "1024x1024",
"width": 123
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: '<string>',
companyId: '<string>',
height: 123,
inputFidelity: 'low',
model: '<string>',
quality: 'auto',
referenceImages: ['<string>'],
size: '1024x1024',
width: 123
})
};
fetch('https://api.parallellabs.app/api/v0/images', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.parallellabs.app/api/v0/images",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => '<string>',
'companyId' => '<string>',
'height' => 123,
'inputFidelity' => 'low',
'model' => '<string>',
'quality' => 'auto',
'referenceImages' => [
'<string>'
],
'size' => '1024x1024',
'width' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.parallellabs.app/api/v0/images"
payload := strings.NewReader("{\n \"prompt\": \"<string>\",\n \"companyId\": \"<string>\",\n \"height\": 123,\n \"inputFidelity\": \"low\",\n \"model\": \"<string>\",\n \"quality\": \"auto\",\n \"referenceImages\": [\n \"<string>\"\n ],\n \"size\": \"1024x1024\",\n \"width\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.parallellabs.app/api/v0/images")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"<string>\",\n \"companyId\": \"<string>\",\n \"height\": 123,\n \"inputFidelity\": \"low\",\n \"model\": \"<string>\",\n \"quality\": \"auto\",\n \"referenceImages\": [\n \"<string>\"\n ],\n \"size\": \"1024x1024\",\n \"width\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.parallellabs.app/api/v0/images")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"<string>\",\n \"companyId\": \"<string>\",\n \"height\": 123,\n \"inputFidelity\": \"low\",\n \"model\": \"<string>\",\n \"quality\": \"auto\",\n \"referenceImages\": [\n \"<string>\"\n ],\n \"size\": \"1024x1024\",\n \"width\": 123\n}"
response = http.request(request)
puts response.read_body{
"msg": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Generate an AI image from a text prompt.
Creates an image using the specified model (GPT Image or Google). The image is generated asynchronously and can be retrieved using the image ID.
curl --request POST \
--url https://api.parallellabs.app/api/v0/images \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"prompt": "<string>",
"companyId": "<string>",
"height": 123,
"inputFidelity": "low",
"model": "<string>",
"quality": "auto",
"referenceImages": [
"<string>"
],
"size": "1024x1024",
"width": 123
}
'import requests
url = "https://api.parallellabs.app/api/v0/images"
payload = {
"prompt": "<string>",
"companyId": "<string>",
"height": 123,
"inputFidelity": "low",
"model": "<string>",
"quality": "auto",
"referenceImages": ["<string>"],
"size": "1024x1024",
"width": 123
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: '<string>',
companyId: '<string>',
height: 123,
inputFidelity: 'low',
model: '<string>',
quality: 'auto',
referenceImages: ['<string>'],
size: '1024x1024',
width: 123
})
};
fetch('https://api.parallellabs.app/api/v0/images', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.parallellabs.app/api/v0/images",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => '<string>',
'companyId' => '<string>',
'height' => 123,
'inputFidelity' => 'low',
'model' => '<string>',
'quality' => 'auto',
'referenceImages' => [
'<string>'
],
'size' => '1024x1024',
'width' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.parallellabs.app/api/v0/images"
payload := strings.NewReader("{\n \"prompt\": \"<string>\",\n \"companyId\": \"<string>\",\n \"height\": 123,\n \"inputFidelity\": \"low\",\n \"model\": \"<string>\",\n \"quality\": \"auto\",\n \"referenceImages\": [\n \"<string>\"\n ],\n \"size\": \"1024x1024\",\n \"width\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.parallellabs.app/api/v0/images")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"<string>\",\n \"companyId\": \"<string>\",\n \"height\": 123,\n \"inputFidelity\": \"low\",\n \"model\": \"<string>\",\n \"quality\": \"auto\",\n \"referenceImages\": [\n \"<string>\"\n ],\n \"size\": \"1024x1024\",\n \"width\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.parallellabs.app/api/v0/images")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"<string>\",\n \"companyId\": \"<string>\",\n \"height\": 123,\n \"inputFidelity\": \"low\",\n \"model\": \"<string>\",\n \"quality\": \"auto\",\n \"referenceImages\": [\n \"<string>\"\n ],\n \"size\": \"1024x1024\",\n \"width\": 123\n}"
response = http.request(request)
puts response.read_body{
"msg": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Company API key - scoped to a specific company. Generate from the Integrations page in your dashboard.
Body
Image generation parameters
Request body for generating an image
Text prompt to generate image from
Company ID (optional, defaults to API key company)
Image height for Leonardo/Google models
Input fidelity for GPT Image edit mode: low, medium, high
Model to use (e.g., gpt-image-1, leonardo models, google models)
Quality setting: auto, standard, hd, low, medium, high
List of reference image URLs for edit mode
Size for GPT Image models (e.g., 1024x1024, 1792x1024)
Image width for Leonardo/Google models
Response
Image generation initiated
Generated image response
Success message

