Теперь давайте посмотрим пример, как с помощью API OpenAI анализировать картинки, которые мы ей передаём. Предположим, у меня в корне проекта есть картинка - обычная красная стрелочка. Попробуем заставить OpenAI проанализировать её и написать, что именно находится на картинке.
Как передать картинку в запросе
Для передачи таких данных можно использовать тот же метод create. Но чтобы картинка была прочитана, нужно передать специальный вид входных данных, чтобы OpenAI поняла, что это картинка.
Мы передаём в input объект с ролью user - мы являемся пользователем. Далее указываем content, и в нём две части:
input_text- входной текст, вопрос к модели;input_image- сама картинка, которую мы передаём.
Кодирование в base64
Чтобы OpenAI прочитала картинку как картинку, её нужно закодировать в формат base64 - именно в таком формате модель будет её читать. Это специальный формат данных, удобный для передачи по сети: передать просто файл картинки не получится, его нужно закодировать.
import base64
import mimetypes
from dotenv import load_dotenv
from openai import OpenAI
IMAGE = "2026-06-24_04-23-21.png" # путь к картинке, png или jpg
load_dotenv()
client = OpenAI()
# Картинку передаём внутри запроса: кодируем файл в base64 и делаем data URL
mime = mimetypes.guess_type(IMAGE)[0]
with open(IMAGE, "rb") as f:
data = base64.b64encode(f.read()).decode()
response = client.responses.create(
model="gpt-5-nano",
input=[
{
"role": "user",
"content": [
{"type": "input_text", "text": "Посмотри на рисунок. Что на нём не дорисовано? Перечисли."},
{"type": "input_image", "image_url": f"data:{mime};base64,{data}"},
],
}
],
)
print(response.output_text)
Запускаем скрипт. OpenAI сумела прочитать картинку: на ней видна одна красная стрелка - модель успешно её проанализировала. Таким способом вы можете передавать в OpenAI изображения или другие файлы для анализа.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти