Перейти к основному содержанию
POST
/
v1
/
images
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "qwen-image-2.0",
    "prompt": "A cute orange cat napping in the sunshine"
  }'
import requests

url = "https://api.apimart.ai/v1/images/generations"

payload = {
    "model": "qwen-image-2.0",
    "prompt": "A cute orange cat napping in the sunshine"
}

headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
const url = "https://api.apimart.ai/v1/images/generations";

const payload = {
  model: "qwen-image-2.0",
  prompt: "A cute orange cat napping in the sunshine",
};

const headers = {
  Authorization: "Bearer <token>",
  "Content-Type": "application/json",
};

fetch(url, {
  method: "POST",
  headers: headers,
  body: JSON.stringify(payload),
})
  .then((response) => response.json())
  .then((data) => console.log(data))
  .catch((error) => console.error("Error:", error));
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01JGXYZ1234567890ABCDEF"
    }
  ]
}
{
  "error": {
    "code": 400,
    "message": "Invalid request parameters",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": 401,
    "message": "Authentication failed, please check your API key",
    "type": "authentication_error"
  }
}
{
  "error": {
    "code": 402,
    "message": "Insufficient balance, please top up",
    "type": "payment_required"
  }
}
curl --request POST \
  --url https://api.apimart.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "qwen-image-2.0",
    "prompt": "A cute orange cat napping in the sunshine"
  }'
import requests

url = "https://api.apimart.ai/v1/images/generations"

payload = {
    "model": "qwen-image-2.0",
    "prompt": "A cute orange cat napping in the sunshine"
}

headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
const url = "https://api.apimart.ai/v1/images/generations";

const payload = {
  model: "qwen-image-2.0",
  prompt: "A cute orange cat napping in the sunshine",
};

const headers = {
  Authorization: "Bearer <token>",
  "Content-Type": "application/json",
};

fetch(url, {
  method: "POST",
  headers: headers,
  body: JSON.stringify(payload),
})
  .then((response) => response.json())
  .then((data) => console.log(data))
  .catch((error) => console.error("Error:", error));
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01JGXYZ1234567890ABCDEF"
    }
  ]
}
{
  "error": {
    "code": 400,
    "message": "Invalid request parameters",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": 401,
    "message": "Authentication failed, please check your API key",
    "type": "authentication_error"
  }
}
{
  "error": {
    "code": 402,
    "message": "Insufficient balance, please top up",
    "type": "payment_required"
  }
}

Поддерживаемые модели

МодельОписаниеМаксимум изображенийЦена
qwen-image-2.0Стандартная версия, сбалансированное качество и производительность6Фиксированная цена
qwen-image-2.0-proPro-версия, более сильный рендеринг текста, более тонкие реалистичные текстуры6Фиксированная цена

Авторизация

Authorization
string
обязательно
Все конечные точки требуют аутентификации Bearer TokenПолучите API Key:Перейдите на страницу управления API ключами, чтобы получить свой API KeyДобавьте в заголовок запроса:
Authorization: Bearer YOUR_API_KEY

Тело запроса

model
string
обязательно
Название модели
  • qwen-image-2.0 — стандартная версия, сбалансированное качество и производительность
  • qwen-image-2.0-pro — Pro-версия, более сильный рендеринг текста, более тонкие реалистичные текстуры
prompt
string
обязательно
Текстовое описание для генерации изображения, до 800 символов
size
string
по умолчанию:"1:1"
Соотношение сторон изображенияПоддерживаемые соотношения сторон:
  • 1:1 — квадрат (по умолчанию)
  • 4:3 — горизонтальный 4:3
  • 3:4 — вертикальный 3:4
  • 16:9 — горизонтальный широкоформатный
  • 9:16 — вертикальный
  • 3:2 — горизонтальный 3:2
  • 2:3 — вертикальный 2:3
resolution
string
по умолчанию:"1K"
Уровень разрешения
  • 1K — стандартное разрешение (по умолчанию)
  • 2K — высокое разрешение
n
integer
по умолчанию:"1"
Количество генерируемых изображенийДиапазон: 1–6
negative_prompt
string
Негативный промпт (содержимое, которое вы не хотите видеть), до 500 символов
image_urls
array
Массив URL референсных изображений (режим image-to-image)Ограничения:
  • Должны быть публично доступные URL
  • Формат Base64 не поддерживается

Справочная таблица разрешений

Размер вывода определяется комбинацией size (соотношение) + resolution (уровень разрешения).
СоотношениеУровень 1KУровень 2K
1:11024×10242048×2048
4:31152×8642048×1536
3:4864×11521536×2048
16:91280×7202048×1152
9:16720×12801152×2048
3:21248×8322048×1360
2:3832×12481360×2048
  • Только size → по умолчанию уровень 1K: {"size": "16:9"} → 1280×720
  • size + resolution → указанный уровень: {"size": "16:9", "resolution": "2K"} → 2048×1152

Примеры использования

Text-to-image (минимальный запрос)
{
  "model": "qwen-image-2.0",
  "prompt": "A cute orange cat napping in the sunshine"
}
Указание соотношения и количества
{
  "model": "qwen-image-2.0-pro",
  "prompt": "Cyberpunk-style futuristic city nightscape with flickering neon lights",
  "size": "16:9",
  "n": 4
}
Высокое разрешение уровня 2K
{
  "model": "qwen-image-2.0-pro",
  "prompt": "Exquisite food photography, sushi platter",
  "size": "4:3",
  "resolution": "2K",
  "n": 2
}
Image-to-image (референсное изображение + текстовое описание)
{
  "model": "qwen-image-2.0",
  "prompt": "Change the background to a seaside sunset",
  "image_urls": ["https://example.com/my-photo.jpg"]
}

Ответ

code
integer
Код состояния ответа
data
array
Массив данных ответа

Примечания

  1. Асинхронная обработка: после отправки возвращается task_id. Опрашивайте /v1/tasks/{task_id} для получения результатов
  2. Хранение изображений: сгенерированные изображения зеркалируются на CDN платформы и действительны длительное время
  3. Правила тарификации: тарификация за каждое успешно сгенерированное изображение, неудачные не оплачиваются
  4. Требования к URL изображений: входные изображения должны быть публично доступными URL, base64 не поддерживается