Generate image
curl --request POST \
--url https://api.aiohub.org/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gpt-image-2",
"prompt": "A clean product photo of a ceramic coffee mug on a wooden desk",
"size": "1024x1024",
"n": 1
}
'import requests
url = "https://api.aiohub.org/v1/images/generations"
payload = {
"model": "gpt-image-2",
"prompt": "A clean product photo of a ceramic coffee mug on a wooden desk",
"size": "1024x1024",
"n": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'gpt-image-2',
prompt: 'A clean product photo of a ceramic coffee mug on a wooden desk',
size: '1024x1024',
n: 1
})
};
fetch('https://api.aiohub.org/v1/images/generations', 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.aiohub.org/v1/images/generations",
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([
'model' => 'gpt-image-2',
'prompt' => 'A clean product photo of a ceramic coffee mug on a wooden desk',
'size' => '1024x1024',
'n' => 1
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.aiohub.org/v1/images/generations"
payload := strings.NewReader("{\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A clean product photo of a ceramic coffee mug on a wooden desk\",\n \"size\": \"1024x1024\",\n \"n\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.aiohub.org/v1/images/generations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A clean product photo of a ceramic coffee mug on a wooden desk\",\n \"size\": \"1024x1024\",\n \"n\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aiohub.org/v1/images/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A clean product photo of a ceramic coffee mug on a wooden desk\",\n \"size\": \"1024x1024\",\n \"n\": 1\n}"
response = http.request(request)
puts response.read_body{
"created": 123,
"data": [
{
"url": "<string>",
"b64_json": "<string>",
"revised_prompt": "<string>"
}
]
}Generate image
OpenAI-compatible image generation endpoint. Available models follow /v1/models and the console model pricing page.
POST
/
v1
/
images
/
generations
Generate image
curl --request POST \
--url https://api.aiohub.org/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gpt-image-2",
"prompt": "A clean product photo of a ceramic coffee mug on a wooden desk",
"size": "1024x1024",
"n": 1
}
'import requests
url = "https://api.aiohub.org/v1/images/generations"
payload = {
"model": "gpt-image-2",
"prompt": "A clean product photo of a ceramic coffee mug on a wooden desk",
"size": "1024x1024",
"n": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'gpt-image-2',
prompt: 'A clean product photo of a ceramic coffee mug on a wooden desk',
size: '1024x1024',
n: 1
})
};
fetch('https://api.aiohub.org/v1/images/generations', 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.aiohub.org/v1/images/generations",
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([
'model' => 'gpt-image-2',
'prompt' => 'A clean product photo of a ceramic coffee mug on a wooden desk',
'size' => '1024x1024',
'n' => 1
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.aiohub.org/v1/images/generations"
payload := strings.NewReader("{\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A clean product photo of a ceramic coffee mug on a wooden desk\",\n \"size\": \"1024x1024\",\n \"n\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.aiohub.org/v1/images/generations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A clean product photo of a ceramic coffee mug on a wooden desk\",\n \"size\": \"1024x1024\",\n \"n\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aiohub.org/v1/images/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A clean product photo of a ceramic coffee mug on a wooden desk\",\n \"size\": \"1024x1024\",\n \"n\": 1\n}"
response = http.request(request)
puts response.read_body{
"created": 123,
"data": [
{
"url": "<string>",
"b64_json": "<string>",
"revised_prompt": "<string>"
}
]
}Authorizations
API key (sk-xxx)
Body
application/json
Example:
"gpt-image-2"
Image description
Required range:
1 <= x <= 10Image size. Supported sizes vary by model, for example 1024x1024, 1024x1792, or 1792x1024.
Example:
"1024x1024"
Image quality. Supported values vary by model, for example auto, standard, hd, or high.
Example:
"auto"
Available options:
vivid, natural Available options:
url, b64_json Whether to stream the response. Depends on support from the selected model.
Background setting. Depends on support from the selected model.
Output format. Depends on support from the selected model.
Partial image return setting. Depends on support from the selected model.
⌘I