> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Подання заявки та використання OpenAI Chat Completion API

> OpenAI generation API guide - Ace Data Cloud

OpenAI ChatGPT — це дуже потужна система AI-діалогів, достатньо ввести підказку, і вона зможе за лічені секунди згенерувати плавну та природну відповідь. ChatGPT вирізняється в галузі своїми видатними можливостями розуміння та генерації мови, і сьогодні ChatGPT уже широко використовується в різних галузях і сферах, а його вплив стає дедалі помітнішим. Чи то щоденні діалоги, творче письмо, чи професійні консультації, програмування коду — ChatGPT може надати вражаючу інтелектуальну допомогу, значно підвищуючи ефективність роботи та творчі можливості людини.

Цей документ головним чином представляє процес використання операцій OpenAI Chat Completion API, за допомогою якого ми можемо легко використовувати функції діалогу офіційного OpenAI ChatGPT.

## GPT-6.1 Sol

Використовуйте `model: "gpt-6.1-sol"` для вибору цієї моделі. Підтримуються потокове виведення, виклики функцій, структуроване виведення та введення зображень. Протягом першого тижня після відкриття доступ надається лише верифікованим власникам ACE T1+ (щонайменше 100 000 ACE) або авторизованим користувачам; конкретний час відкриття доступу визначається підказками доступу в консолі.

Рівні міркування підтримують `low`, `medium`, `high`, `xhigh` і `max`; `none` або `minimal` наразі не підтримуються. Рекомендується почати з `reasoning_effort: "low"`. Якщо введення перевищує 272 000 tokens, до всього запиту застосовується тарифікація довгого контексту, а вартість визначається поточними цінами в консолі.

## Процес подання заявки

Щоб використовувати OpenAI Chat Completion API, спочатку перейдіть до [консолі Ace Data Cloud](https://platform.acedata.cloud/console/applications), щоб отримати ваш API Token, і збережіть його для подальшого використання.

![](https://cdn.acedata.cloud/dvc3cg.jpg)

Якщо ви ще не ввійшли в систему або не зареєструвалися, вас буде автоматично перенаправлено на сторінку входу із запрошенням зареєструватися та увійти, після завершення ви автоматично повернетеся на поточну сторінку.

**Один API Token дозволяє викликати всі сервіси платформи, не потрібно подавати окрему заявку для кожного сервісу.** Під час першого подання заявки буде надано безкоштовний ліміт для безкоштовного ознайомлення; коли ліміту недостатньо, ви можете поповнити універсальний баланс у [консолі](https://platform.acedata.cloud/console/coin).

> 📘 Повна документація: [OpenAI Chat Completion API →](https://platform.acedata.cloud/documents/openai-chat-completions)

## Базове використання

Далі можна заповнити відповідний вміст в інтерфейсі, як показано на зображенні:

![](https://cdn.acedata.cloud/jqgg1t.png)

Під час першого використання цього інтерфейсу нам потрібно заповнити щонайменше три поля: одне з них — `authorization`, його можна безпосередньо вибрати у розкривному списку. Інший параметр — `model`, `model` — це категорія моделі OpenAI ChatGPT, яку ми обираємо для використання; тут у нас є переважно 20 моделей, деталі можна переглянути в наданих нами моделях. Останній параметр — `messages`, `messages` — це масив введених нами запитів, це масив, який означає, що можна одночасно завантажувати кілька запитів; кожен запит містить `role` і `content`, де `role` позначає роль запитувача, ми надаємо три ролі: `user`, `assistant`, `system`. Інший параметр `content` — це конкретний зміст нашого запитання.

Водночас ви можете звернути увагу, що праворуч генерується відповідний код виклику; ви можете скопіювати код і запустити його безпосередньо або безпосередньо натиснути кнопку «Try» для тестування.

Поширені необов’язкові параметри:

* `max_tokens`: обмежує максимальну кількість token в одній відповіді.
* `temperature`: випадковість генерації, від 0 до 2, чим більше значення, тим більш розгалужений результат.
* `n`: скільки варіантів відповідей генерувати за один раз.
* `response_format`: налаштування формату повернення.

![](https://cdn.acedata.cloud/mthuu2.png)

Після виклику ми бачимо, що результат повернення має такий вигляд:

```json theme={null}
{
  "id": "chatcmpl-Cmd6uwSxN75F4PAdQSFEO8f2QPs4E",
  "object": "chat.completion",
  "created": 1765706120,
  "model": "gpt-5.5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! What can I help you with today?",
        "refusal": null,
        "annotations": []
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 7,
    "completion_tokens": 13,
    "total_tokens": 20,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "audio_tokens": 0
    },
    "completion_tokens_details": {
      "reasoning_tokens": 0,
      "audio_tokens": 0,
      "accepted_prediction_tokens": 0,
      "rejected_prediction_tokens": 0
    }
  },
  "service_tier": "default",
  "system_fingerprint": null
}
```

Результат повернення загалом має кілька полів, описаних нижче:

* `id` — ID згенерованого завдання цього діалогу, що використовується для унікальної ідентифікації цього завдання діалогу.
* `model ` — обрана модель OpenAI ChatGPT з офіційного сайту.
* `choices` — інформація про відповідь ChatGPT на запит.
* `usage `: статистична інформація про token для цієї сесії запитань і відповідей.

Серед них `choices` містить інформацію про відповіді ChatGPT, `choices` всередині нього — це ChatGPT, як можна побачити на зображенні.

![](https://cdn.acedata.cloud/4t1ev7.png)

Можна побачити, що поле `content` всередині `choices` містить конкретний зміст відповіді ChatGPT.

## Потокова відповідь

Цей інтерфейс також підтримує потокові відповіді, що дуже корисно для інтеграції з вебсторінками та дозволяє вебсторінкам реалізувати ефект посимвольного відображення.

Якщо ви хочете повертати відповідь потоково, можете змінити параметр `stream ` у заголовку запиту на `true`.

Зміни показано на зображенні, однак код виклику потребує відповідних змін, щоб підтримувати потокову відповідь.

![](https://cdn.acedata.cloud/24scd4.png)

Після зміни `stream` на `true` API повертатиме відповідні JSON-дані рядок за рядком, а на рівні коду нам потрібно внести відповідні зміни, щоб отримувати результати по рядках.

Приклад коду виклику Python:

```python theme={null}
import requests

url = "https://api.acedata.cloud/openai/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "gpt-4",
    "messages": [{"role":"user","content":"hello"}],
    "stream": True
}

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

Ефект виведення такий:

```json theme={null}
data: {"choices": [{"delta": {"role": "assistant"}, "index": 0}], "created": 1721007348, "id": "chatcmpl-YzczYjVhNjhjMzMwNDQ5MDkyNGYzOGZjZGE1ZGQ5OGU", "model": "gpt-4", "object": "chat.completion.chunk", "recipient": "all"}

data: {"choices": [{"delta": {"content": "Hi", "role": "assistant"}, "index": 0}], "created": 1721007348, "id": "chatcmpl-YzczYjVhNjhjMzMwNDQ5MDkyNGYzOGZjZGE1ZGQ5OGU", "model": "gpt-4", "object": "chat.completion.chunk", "recipient": "all"}

data: {"choices": [{"delta": {"content": " there", "role": "assistant"}, "index": 0}], "created": 1721007348, "id": "chatcmpl-YzczYjVhNjhjMzMwNDQ5MDkyNGYzOGZjZGE1ZGQ5OGU", "model": "gpt-4", "object": "chat.completion.chunk", "recipient": "all"}

data: {"choices": [{"delta": {"content": "!", "role": "assistant"}, "index": 0}], "created": 1721007348, "id": "chatcmpl-YzczYjVhNjhjMzMwNDQ5MDkyNGYzOGZjZGE1ZGQ5OGU", "model": "gpt-4", "object": "chat.completion.chunk", "recipient": "all"}

data: {"choices": [{"delta": {"content": " How", "role": "assistant"}, "index": 0}], "created": 1721007348, "id": "chatcmpl-YzczYjVhNjhjMzMwNDQ5MDkyNGYzOGZjZGE1ZGQ5OGU", "model": "gpt-4", "object": "chat.completion.chunk", "recipient": "all"}

data: {"choices": [{"delta": {"content": " can", "role": "assistant"}, "index": 0}], "created": 1721007348, "id": "chatcmpl-YzczYjVhNjhjMzMwNDQ5MDkyNGYzOGZjZGE1ZGQ5OGU", "model": "gpt-4", "object": "chat.completion.chunk", "recipient": "all"}

data: {"choices": [{"delta": {"content": " I", "role": "assistant"}, "index": 0}], "created": 1721007348, "id": "chatcmpl-YzczYjVhNjhjMzMwNDQ5MDkyNGYzOGZjZGE1ZGQ5OGU", "model": "gpt-4", "object": "chat.completion.chunk", "recipient": "all"}

data: {"choices": [{"delta": {"content": " assist", "role": "assistant"}, "index": 0}], "created": 1721007348, "id": "chatcmpl-YzczYjVhNjhjMzMwNDQ5MDkyNGYzOGZjZGE1ZGQ5OGU", "model": "gpt-4", "object": "chat.completion.chunk", "recipient": "all"}

data: {"choices": [{"delta": {"content": " you", "role": "assistant"}, "index": 0}], "created": 1721007348, "id": "chatcmpl-YzczYjVhNjhjMzMwNDQ5MDkyNGYzOGZjZGE1ZGQ5OGU", "model": "gpt-4", "object": "chat.completion.chunk", "recipient": "all"}

data: {"choices": [{"delta": {"content": " today", "role": "assistant"}, "index": 0}], "created": 1721007348, "id": "chatcmpl-YzczYjVhNjhjMzMwNDQ5MDkyNGYzOGZjZGE1ZGQ5OGU", "model": "gpt-4", "object": "chat.completion.chunk", "recipient": "all"}

data: {"choices": [{"delta": {"content": "?", "role": "assistant"}, "index": 0}], "created": 1721007348, "id": "chatcmpl-YzczYjVhNjhjMzMwNDQ5MDkyNGYzOGZjZGE1ZGQ5OGU", "model": "gpt-4", "object": "chat.completion.chunk", "recipient": "all"}

data: {"choices": [{"delta": {"role": "assistant"}, "index": 0}], "created": 1721007348, "id": "chatcmpl-YzczYjVhNjhjMzMwNDQ5MDkyNGYzOGZjZGE1ZGQ5OGU", "model": "gpt-4", "object": "chat.completion.chunk", "recipient": "all"}

data: {"choices": [{"delta": {"role": "assistant"}, "finish_reason": "stop", "index": 0}], "created": 1721007349, "id": "chatcmpl-YzczYjVhNjhjMzMwNDQ5MDkyNGYzOGZjZGE1ZGQ5OGU", "model": "gpt-4", "object": "chat.completion.chunk", "recipient": "all"}

data: [DONE]

```

Можна побачити, що у відповіді є багато `data`, а `choices` у `data` є найновішим вмістом відповіді, що узгоджується з описаним вище. `choices` — це доданий вміст відповіді, і ви можете на основі результату інтегрувати його у свою систему. Водночас завершення потокової відповіді визначається за вмістом `data`: якщо вмістом є `[DONE]`, це означає, що відповідь потокової відповіді повністю завершена. Повернутий результат `data` містить кілька полів, описаних нижче:

* `id` — ID згенерованого завдання цього діалогу, що використовується для унікальної ідентифікації цього завдання діалогу.
* `model ` — вибрана модель з офіційного сайту OpenAI ChatGPT.
* `choices` — інформація про відповідь, надану ChatGPT на запит.

JavaScript також підтримується, наприклад, код потокового виклику для Node.js наведено нижче:

```javascript theme={null}
const options = {
  method: "post",
  headers: {
    accept: "application/json",
    authorization: "Bearer {token}",
    "content-type": "application/json",
  },
  body: JSON.stringify({
    model: "gpt-4",
    messages: [{ role: "user", content: "hello" }],
    stream: true,
  }),
};

fetch("https://api.acedata.cloud/openai/chat/completions", options)
  .then((response) => response.json())
  .then((response) => console.log(response))
  .catch((err) => console.error(err));
```

Приклад коду Java:

```java theme={null}
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "gpt-4");
jsonObject.put("messages", [{"role":"user","content":"hello"}]);
jsonObject.put("stream", true);
MediaType mediaType = "application/json; charset=utf-8".toMediaType();
RequestBody body = jsonObject.toString().toRequestBody(mediaType);
Request request = new Request.Builder()
  .url("https://api.acedata.cloud/openai/chat/completions")
  .post(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer {token}")
  .addHeader("content-type", "application/json")
  .build();

OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
System.out.print(response.body!!.string())
```

Інші мови можна додатково самостійно адаптувати, принципи всюди однакові.

## Багатораундовий діалог

Якщо ви хочете інтегрувати функцію багатораундового діалогу, потрібно передати кілька запитів у поле `messages`; конкретний приклад кількох запитів показано на зображенні нижче:

![](https://cdn.acedata.cloud/oz4mar.png)

Приклад коду виклику Python:

```python theme={null}
import requests

url = "https://api.acedata.cloud/openai/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "gpt-4",
    "messages": [{"role":"user","content":"Hello"},{"role":"assistant","content":"Hi! How can I assist you today?"},{"role":"user","content":"What I say just now?"}]
}

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

Завантаживши кілька запитів, можна легко реалізувати багатораундовий діалог і отримати таку відповідь:

```json theme={null}
{
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "You said, \"Hello.\""
      },
      "finish_reason": "stop"
    }
  ],
  "created": 1721323012,
  "id": "chatcmpl-NWZmOTA5MDlkZjBjNDRjNGEwMzRjYzA5NmM1MzQwMWY",
  "model": "gpt-4",
  "object": "chat.completion.chunk",
  "recipient": "all",
  "usage": {
    "prompt_tokens": 31,
    "completion_tokens": 6,
    "total_tokens": 37
  }
}
```

Можна побачити, що інформація, яку містить `choices`, узгоджується зі змістом базового використання; це містить конкретний зміст відповіді ChatGPT для кількох діалогів, тому можна відповідати на відповідні запитання на основі кількох діалогів.

## Інтеграція з OpenAI-Python

OpenAI Chat Completion API сумісний з офіційним інтерфейсом OpenAI; для інтеграції можна безпосередньо використовувати офіційний SDK [OpenAI-Python](https://github.com/openai/openai-python). У цій статті буде коротко представлено спосіб використання.

1. Спочатку потрібно налаштувати локальне середовище `Python`; цей процес можна пошукати в Google.
2. Завантажте та встановіть середовище розробки, наприклад редактор VSCode.
3. Налаштуйте змінні середовища `OpenAI`.

* У папці проєкту створіть файл із назвою `.env` і збережіть його.
* Вміст файлу `.env`:

```json theme={null}
OPENAI_API_KEY="sk-xxx"
OPENAI_BASE_URL="https://api.acedata.cloud/openai"  # 再次提醒：如果你使用官网OpenAI的key，不要用这个地址。
```

Замініть `sk-xxx` на власний key. `OPENAI_BASE_URL` є проксі-інтерфейсом для доступу до OpenAI.

4. Встановіть пакети залежностей проєкту

```shell theme={null}
pip install openai
```

У Mac OS команда має вигляд:

```shell theme={null}
pip3 install openai
```

5. Створіть файл вихідного коду прикладу

Припустімо, ми створили приклад коду `index.py`, конкретний вміст такий:

```python theme={null}
import os
from openai import OpenAI

client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))

response = client.chat.completions.create(
    messages=[
        {
            "role": "user",
            "content": "hello",
        }
    ],
    model="gpt-4",
)

print(response.text)
```

## Моделі з доступом до інтернету

Моделі gpt-3.5-browsing і gpt-4-browsing відрізняються від інших моделей: вони можуть виконувати пошук в інтернеті відповідно до запиту та повертати вам належним чином скориговані результати пошуку в інтернеті. У цій статті функцію доступу до інтернету буде продемонстровано на конкретному прикладі; далі можна заповнити відповідний вміст в інтерфейсі OpenAI Chat Completion API, як показано на рисунку:

![](https://cdn.acedata.cloud/249829.png)

Водночас ви можете звернути увагу, що праворуч є генерація відповідного коду виклику; ви можете скопіювати код і запустити його безпосередньо, або прямо натиснути кнопку «Try» для тестування.

![](https://cdn.acedata.cloud/s8gxoo.png)

Після виклику ми виявляємо, що результат повернення такий:

```json theme={null}
{
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "For the latest news in China today, you can check major news websites such as:\n\n- [BBC News China](https://www.bbc.com/news/world/asia/china)\n- [CNN China News](https://edition.cnn.com/china)\n- [Reuters China](https://www.reuters.com/news/archive/china-news)\n\nThese sources will have up-to-date information on current events in China."
      },
      "finish_reason": "stop"
    }
  ],
  "created": 1721009347,
  "id": "chatcmpl-YzA0M2RjZDVkYThlNDkxNTkzOThmZWQ4OGMzNzdhNzA",
  "model": "gpt-4-browsing",
  "object": "chat.completion.chunk",
  "recipient": "all",
  "usage": {
    "prompt_tokens": 325,
    "completion_tokens": 82,
    "total_tokens": 407
  }
}
```

Можна побачити, що інформація відповіді в `choices` отримана на основі запиту через інтернет, а також надано відповідні посилання. Інформацію відповіді в `choices` потрібно рендерити за допомогою синтаксису `markdown`, щоб отримати найкращий досвід; зрештою, це також відображає потужні переваги функції доступу нашої моделі до інтернету.

## Візуальна модель

gpt-4o — це мультимодальна велика мовна модель, розроблена OpenAI; на основі GPT-4 вона додає можливість візуального розуміння. Ця модель може одночасно обробляти текстові та зображувальні входи, реалізуючи міжмодальне розуміння й генерацію.

Текстова обробка з використанням моделі gpt-4o узгоджується з базовим використанням, описаним вище; нижче буде коротко представлено, як використовувати можливості моделі для обробки зображень.

Можливості моделі gpt-4o для обробки зображень переважно використовуються шляхом додавання поля `type` на основі початкового вмісту `content`; за допомогою цього поля можна визначити, чи завантажено текст або зображення, і таким чином використовувати можливості моделі gpt-4o для обробки зображень. Нижче переважно описано виклик цієї функції двома способами: Curl і Python.

* Спосіб зі скриптом Curl

```
curl -X POST 'https://api.acedata.cloud/openai/chat/completions' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
    "model": "gpt-4o",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "What'\''s in this image?"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
            }
          }
        ]
      }
    ]
  }'
```

* Спосіб зі скриптом Python

```python theme={null}
import requests

url = "https://api.acedata.cloud/openai/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "gpt-4o",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text", "text": "What's in this image?"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
                    }
                },
            ],
        }
    ]
}

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

Потім можна отримати наведений нижче результат, інформація про поля в результаті відповідає наведеній вище, конкретно це виглядає так:

```json theme={null}
{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "gpt-4-vision-preview",
  "system_fingerprint": "fp_44709d6fcb",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "\n\nThis image shows a wooden boardwalk extending through a lush green marshland."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 12,
    "total_tokens": 21
  }
}
```

Можна побачити, що вміст відповіді ґрунтується на зображенні, тому за допомогою наведених вище двох способів можна легко використовувати можливості моделі gpt-4-vision для обробки тексту та зображень.

Окрім gpt-4o, є ще одна модель із нижчою вартістю, яка називається gpt-4o-mini. gpt-4o-mini — це новітнє покоління великих мовних моделей, розроблене OpenAI, вона не лише швидко відповідає, але й коштує дешевше, а також підтримує мультимодальність. Щодо використання функції vision можна звернутися до вмісту про використання моделі gpt-4o вище.

## Модель малювання GPT-4o

### Генерація зображення на основі референсного зображення

Нижче наведено приклад генерації зображення в користувацькому стилі на основі зображення, спочатку давайте подивимося на зображення, яке ми вводимо, як показано нижче:

![](https://cdn.acedata.cloud/qzx2z1.png)

Можна побачити, що референсне зображення — це зображення реальної людини, ми можемо змінити його стиль, наприклад, перетворити його на зображення в аніме-стилі, конкретний приклад запиту:

```json theme={null}
{
  "model": "gpt-4o-image",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "生成动漫风格的图片，并且带上个帽子"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/qzx2z1.png"
          }
        }
      ]
    }
  ],
  "stream": false
}
```

Приклад результату:

```json theme={null}
{
  "id": "chatcmpl-89DPQxbLuyRNzH5YLCPYM5WElV3dm",
  "object": "chat.completion",
  "created": 1781020664,
  "model": "gpt-4o-image",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "\n\n> 🎨 生成中...\n\n![https://platform.cdn.acedata.cloud/20260609/0f7b6cf1b14843b1bab8e261fe5765b3.png](https://platform.cdn.acedata.cloud/20260609/0f7b6cf1b14843b1bab8e261fe5765b3.png)\n\n[点击下载](https://platform.cdn.acedata.cloud/download/20260609/0f7b6cf1b14843b1bab8e261fe5765b3.png)"
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 100,
    "completion_tokens": 122,
    "total_tokens": 222,
    "prompt_tokens_details": {
      "text_tokens": 93,
      "cached_tokens_details": {}
    },
    "completion_tokens_details": {}
  }
}
```

Серед них `message.content` у `choices` є повним результатом згенерованого діалогу, зображення міститься в ньому у форматі Markdown (посилання на зображення є тимчасовим, будь ласка, своєчасно завантажте та збережіть його). Можна побачити, що згенероване зображення дійсно виконане в аніме-стилі, конкретно це показано на зображенні нижче:

![](https://cdn.acedata.cloud/qmr391.jpg)

### Генерація зображення лише з тексту

Ми можемо за допомогою одного промпту змусити його згенерувати зображення та повернути нам результат у діалоговому форматі, нижче ми використаємо `створити зображення заходу сонця у футуристичному місті` як приклад, конкретний приклад наведено нижче:

```json theme={null}
{
  "model": "gpt-4o-image",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "创建一张未来城市日落的图片"
        }
      ]
    }
  ],
  "stream": false
}
```

Приклад результату:

```json theme={null}
{
  "id": "chatcmpl-89DqkpQoPGkQqJ6kPKMKWejjLXVxQ",
  "object": "chat.completion",
  "created": 1781020587,
  "model": "gpt-4o-image",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "\n\n> 🎨 生成中...\n\n![https://platform.cdn.acedata.cloud/20260609/ed2cca68732540fc99162ddc10ddc153.png](https://platform.cdn.acedata.cloud/20260609/ed2cca68732540fc99162ddc10ddc153.png)\n\n[点击下载](https://platform.cdn.acedata.cloud/download/20260609/ed2cca68732540fc99162ddc10ddc153.png)"
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 17,
    "completion_tokens": 104,
    "total_tokens": 121,
    "prompt_tokens_details": {
      "text_tokens": 10,
      "cached_tokens_details": {}
    },
    "completion_tokens_details": {}
  }
}
```

Можна побачити, що результат відповідає промпту, конкретно це показано нижче:

![](https://cdn.acedata.cloud/q502uk.jpg)

### Генерація одного зображення з кількох зображень

Ми також можемо використовувати кілька референсних зображень для генерації одного зображення, наприклад, використати зображення красивого хлопця та кави, за допомогою цих двох зображень можна згенерувати зображення красивого хлопця, який п'є каву, нижче наведено конкретні референсні зображення:

![](https://cdn.acedata.cloud/pqquv3.jpg)

![](https://cdn.acedata.cloud/h8j2i0.jpg)

Нижче ми використаємо `згенерувати хлопця, який тримає каву та ось-ось її вип'є` як приклад, конкретний приклад наведено нижче:

```json theme={null}
{
  "model": "gpt-4o-image",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "生成男生举着咖啡，并且马上要喝的样子"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/pqquv3.jpg"
          }
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/h8j2i0.jpg"
          }
        }
      ]
    }
  ],
  "stream": false
}
```

Приклад результату:

```json theme={null}
{
  "id": "chatcmpl-89DnHbbzOIQvU1VzJrNjzMU8BRUgG",
  "object": "chat.completion",
  "created": 1781021018,
  "model": "gpt-4o-image",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "\n\n> 🎨 生成中...\n\n![https://platform.cdn.acedata.cloud/20260610/f1d9ddee3c304230a9f92929f04b95be.png](https://platform.cdn.acedata.cloud/20260610/f1d9ddee3c304230a9f92929f04b95be.png)\n\n[点击下载](https://platform.cdn.acedata.cloud/download/20260610/f1d9ddee3c304230a9f92929f04b95be.png)"
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 193,
    "completion_tokens": 116,
    "total_tokens": 309,
    "prompt_tokens_details": {
      "text_tokens": 186,
      "cached_tokens_details": {}
    },
    "completion_tokens_details": {}
  }
}
```

Як видно, згенерований результат дійсно створено на основі двох зображень, нижче наведено конкретний результат:

![](https://cdn.acedata.cloud/89vnpx.jpg)

## Обробка помилок

Під час виклику API, якщо виникає помилка, API поверне відповідний код помилки та інформацію. Наприклад:

* `400 token_mismatched`：Неправильний запит, можливо, через відсутні або недійсні параметри.
* `400 api_not_implemented`：Неправильний запит, можливо, через відсутні або недійсні параметри.
* `401 invalid_token`：Неавторизовано, недійсний або відсутній токен авторизації.
* `429 too_many_requests`：Забагато запитів, ви перевищили обмеження швидкості.
* `500 api_error`：Внутрішня помилка сервера, щось пішло не так на сервері.

### Приклад відповіді з помилкою

```
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Висновок

Завдяки цьому документу ви вже дізналися, як використовувати OpenAI Chat Completion API для легкого впровадження функції діалогу офіційного OpenAI ChatGPT. Сподіваємося, цей документ допоможе вам краще інтегрувати та використовувати цей API. Якщо у вас виникнуть будь-які запитання, будь ласка, звертайтеся до нашої команди технічної підтримки.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.