curl --request POST \
--url https://api.ttapi.io/v1/images/generations \
--header 'Content-Type: application/json' \
--header 'TT-API-KEY: <api-key>' \
--data '
{
"prompt": "<string>",
"background": "auto",
"mode": "dall-e-2",
"moderation": "auto",
"n": 123,
"output_compression": "100",
"output_format": "png",
"quality": "auto",
"response_format": "<string>",
"size": "auto"
}
'import requests
url = "https://api.ttapi.io/v1/images/generations"
payload = {
"prompt": "<string>",
"background": "auto",
"mode": "dall-e-2",
"moderation": "auto",
"n": 123,
"output_compression": "100",
"output_format": "png",
"quality": "auto",
"response_format": "<string>",
"size": "auto"
}
headers = {
"TT-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'TT-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: '<string>',
background: 'auto',
mode: 'dall-e-2',
moderation: 'auto',
n: 123,
output_compression: '100',
output_format: 'png',
quality: 'auto',
response_format: '<string>',
size: 'auto'
})
};
fetch('https://api.ttapi.io/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.ttapi.io/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([
'prompt' => '<string>',
'background' => 'auto',
'mode' => 'dall-e-2',
'moderation' => 'auto',
'n' => 123,
'output_compression' => '100',
'output_format' => 'png',
'quality' => 'auto',
'response_format' => '<string>',
'size' => 'auto'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"TT-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.ttapi.io/v1/images/generations"
payload := strings.NewReader("{\n \"prompt\": \"<string>\",\n \"background\": \"auto\",\n \"mode\": \"dall-e-2\",\n \"moderation\": \"auto\",\n \"n\": 123,\n \"output_compression\": \"100\",\n \"output_format\": \"png\",\n \"quality\": \"auto\",\n \"response_format\": \"<string>\",\n \"size\": \"auto\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("TT-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.ttapi.io/v1/images/generations")
.header("TT-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"<string>\",\n \"background\": \"auto\",\n \"mode\": \"dall-e-2\",\n \"moderation\": \"auto\",\n \"n\": 123,\n \"output_compression\": \"100\",\n \"output_format\": \"png\",\n \"quality\": \"auto\",\n \"response_format\": \"<string>\",\n \"size\": \"auto\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ttapi.io/v1/images/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["TT-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"<string>\",\n \"background\": \"auto\",\n \"mode\": \"dall-e-2\",\n \"moderation\": \"auto\",\n \"n\": 123,\n \"output_compression\": \"100\",\n \"output_format\": \"png\",\n \"quality\": \"auto\",\n \"response_format\": \"<string>\",\n \"size\": \"auto\"\n}"
response = http.request(request)
puts response.read_body{
"created": 1745818538,
"data": [
{
"url": "https://filesystem.site/cdn/20250428/5LsFMT0Def02RVVUkwJ4v7IslleMzo.webp",
"revised_prompt": "A cute fluffy cat with big, bright eyes, soft fur, and a playful expression. It has a light gray coat with hints of white on its paws and tail. The cat is sitting in a cozy setting, surrounded by soft cushions, with its tail wrapped around its paws. Its ears are perked up, and it's looking directly at the viewer, exuding a sense of curiosity and warmth."
}
],
"usage": {
"input_tokens": 9,
"input_tokens_details": {
"image_tokens": 0,
"text_tokens": 9
},
"output_tokens": 4160,
"total_tokens": 4169
}
}{
"status": "FAILED",
"message": "\"prompt\" cannot be empty.",
"data": {}
}{
"status": "FAILED",
"message": "Wrong TT-API-KEY or email is not activated."
}GPT-Генерация изображений
Создавайте изображения на основе текстовых и графических подсказок. Получено из официального интерфейса OpenAI, поддерживает модели gpt-image-1, dall-e-2, dall-e-3. Документация переведена из официальной документации . Если вы интегрировали официальную документацию, вы можете использовать ее напрямую. Все входные/выходные параметры и поддержка согласованы.
curl --request POST \
--url https://api.ttapi.io/v1/images/generations \
--header 'Content-Type: application/json' \
--header 'TT-API-KEY: <api-key>' \
--data '
{
"prompt": "<string>",
"background": "auto",
"mode": "dall-e-2",
"moderation": "auto",
"n": 123,
"output_compression": "100",
"output_format": "png",
"quality": "auto",
"response_format": "<string>",
"size": "auto"
}
'import requests
url = "https://api.ttapi.io/v1/images/generations"
payload = {
"prompt": "<string>",
"background": "auto",
"mode": "dall-e-2",
"moderation": "auto",
"n": 123,
"output_compression": "100",
"output_format": "png",
"quality": "auto",
"response_format": "<string>",
"size": "auto"
}
headers = {
"TT-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'TT-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: '<string>',
background: 'auto',
mode: 'dall-e-2',
moderation: 'auto',
n: 123,
output_compression: '100',
output_format: 'png',
quality: 'auto',
response_format: '<string>',
size: 'auto'
})
};
fetch('https://api.ttapi.io/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.ttapi.io/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([
'prompt' => '<string>',
'background' => 'auto',
'mode' => 'dall-e-2',
'moderation' => 'auto',
'n' => 123,
'output_compression' => '100',
'output_format' => 'png',
'quality' => 'auto',
'response_format' => '<string>',
'size' => 'auto'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"TT-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.ttapi.io/v1/images/generations"
payload := strings.NewReader("{\n \"prompt\": \"<string>\",\n \"background\": \"auto\",\n \"mode\": \"dall-e-2\",\n \"moderation\": \"auto\",\n \"n\": 123,\n \"output_compression\": \"100\",\n \"output_format\": \"png\",\n \"quality\": \"auto\",\n \"response_format\": \"<string>\",\n \"size\": \"auto\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("TT-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.ttapi.io/v1/images/generations")
.header("TT-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"<string>\",\n \"background\": \"auto\",\n \"mode\": \"dall-e-2\",\n \"moderation\": \"auto\",\n \"n\": 123,\n \"output_compression\": \"100\",\n \"output_format\": \"png\",\n \"quality\": \"auto\",\n \"response_format\": \"<string>\",\n \"size\": \"auto\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ttapi.io/v1/images/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["TT-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"<string>\",\n \"background\": \"auto\",\n \"mode\": \"dall-e-2\",\n \"moderation\": \"auto\",\n \"n\": 123,\n \"output_compression\": \"100\",\n \"output_format\": \"png\",\n \"quality\": \"auto\",\n \"response_format\": \"<string>\",\n \"size\": \"auto\"\n}"
response = http.request(request)
puts response.read_body{
"created": 1745818538,
"data": [
{
"url": "https://filesystem.site/cdn/20250428/5LsFMT0Def02RVVUkwJ4v7IslleMzo.webp",
"revised_prompt": "A cute fluffy cat with big, bright eyes, soft fur, and a playful expression. It has a light gray coat with hints of white on its paws and tail. The cat is sitting in a cozy setting, surrounded by soft cushions, with its tail wrapped around its paws. Its ears are perked up, and it's looking directly at the viewer, exuding a sense of curiosity and warmth."
}
],
"usage": {
"input_tokens": 9,
"input_tokens_details": {
"image_tokens": 0,
"text_tokens": 9
},
"output_tokens": 4160,
"total_tokens": 4169
}
}{
"status": "FAILED",
"message": "\"prompt\" cannot be empty.",
"data": {}
}{
"status": "FAILED",
"message": "Wrong TT-API-KEY or email is not activated."
}Модели изображений OpenAI
TTAPI предоставляет доступ к моделям генерации изображений OpenAI через более простой и экономичный шлюз. Поддерживаемые модели:gpt-image-2.5-flare, gpt-image-2.5-sunburst, gpt-image-2, gpt-image-1.5, gpt-image-1, dall-e-2 и dall-e-3.
Авторизации
Вы можете получить API-ключ в панель управления TTAPI.
Тело
Текстовое описание изображения. Максимальная длина: gpt-image-1 поддерживает до 32 000 символов, dall-e-2 поддерживает до 1 000 символов, dall-e-3 поддерживает до 4 000 символов.
Управляет прозрачностью создаваемого фона изображения.
Этот параметр применим только к gpt-image-1. Выберите один из: transparent, opaque или auto (по умолчанию). Если установлено значение «авто», модель автоматически определяет оптимальный фон.
Если установлено значение «прозрачный», выходной формат должен поддерживать прозрачность, поэтому используйте png или webp.
transparent, opaque, auto Поддерживаемые модели
gpt-image-2.5-flare, gpt-image-2.5-sunburst, gpt-image-2, gpt-image-1.5, gpt-image-1, dall-e-2, dall-e-3 Управляет уровнем модерации контента для изображений, созданных gpt-image-1.. Выберите low (для менее строгой фильтрации) или auto (по умолчанию).
low, auto Количество генерируемых изображений, по умолчанию 1.
Доступный диапазон 1-10, dall-e-3 фиксирован на 1.
Уровень сжатия создаваемых изображений (0-100%). Этот параметр применим только к gpt-image-1 с выходным форматом webp или jpeg, значение по умолчанию — 100.
Формат возвращаемого изображения. Эта опция применима только к gpt-image-1... Опции: png (по умолчанию), jpeg, webp.
png, png, jpeg Качество изображения.
auto (по умолчанию) автоматически выбирает лучшее качество для данной модели.
gpt-image-1 поддерживает три качества: high, medium, low.
dall-e-3 поддерживает hd и standard.
dall-e-2 поддерживает только standard.
Формат возвращаемых данных.
dall-e-3 и dall-e-2 поддерживают url или b64_json. URL действительны в течение 60 минут, поэтому кэшируйте сразу после получения.
gpt-image-1 поддерживает только b64_json.
Размер изображения. Опции
gpt-image-1: 1024x1024, 1536x1024, 1024x1536, auto (по умолчанию). Варианты
dall-e-2: 256x256, 512x512, 1024x1024. Варианты
dall-e-3: 1024x1024, 1792x1024, 1024x1792.
Примечание. Разные размеры используют разные квоты TTAPI.
Стиль создаваемого изображения. Этот параметр применим только к dall-e-3..
vivid (vivid), natural (natural) Ответ
Запрос успешен, возвращает результаты создания изображения (поддерживает форматы url/base64)