Формат ответа OpenAI (Ответы)
Официальная документация
📝 Введение
Самый продвинутый интерфейс ответа модели OpenAI. Поддерживает ввод текста и изображений, а также вывод текста. Создайте взаимодействие с моделью с отслеживанием состояния, используя выходные данные предыдущих ответов в качестве входных данных. Возможность расширения модели с помощью встроенных инструментов, таких как поиск файлов, поиск в Интернете, использование компьютера и многое другое. Используйте вызовы функций, чтобы предоставить моделям доступ к внешним системам и данным.
Соответствующие руководства можно найти на официальном сайте OpenAI: Ответы
💡 Пример запроса
Базовый текстовый ответ ✅
curl https://88api.ai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"input": "Расскажите сказку на ночь о единорогах из трех предложений.。"
}'Пример ответа:
{
"id": "resp_67ccd2bed1ec8190b14f964abc0542670bb6a6b452d3795b",
"object": "response",
"created_at": 1741476542,
"status": "completed",
"error": null,
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"model": "gpt-4.1",
"output": [
{
"type": "message",
"id": "msg_67ccd2bf17f0819081ff3bb2cf6508e60bb6a6b452d3795b",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "в тихую лунную ночь,Единорог по имени Люмина обнаруживает скрытый бассейн, в котором отражаются звезды.。когда она окунула свой рог в воду,Бассейн начинает мигать,Открывая путь в волшебный мир бесконечного ночного неба。полный любопытства,Люмина загадывает желание всем мечтающим,Надеюсь, они найдут свою скрытую магию.,когда она оглядывается назад,Ее следы сверкают, как звездная пыль.。",
"annotations": []
}
]
}
],
"parallel_tool_calls": true,
"previous_response_id": null,
"reasoning": {
"effort": null,
"summary": null
},
"store": true,
"temperature": 1.0,
"text": {
"format": {
"type": "text"
}
},
"tool_choice": "auto",
"tools": [],
"top_p": 1.0,
"truncation": "disabled",
"usage": {
"input_tokens": 36,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 87,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 123
},
"user": null,
"metadata": {}
}Ответ на анализ изображения ✅
curl https://88api.ai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"input": [
{
"role": "user",
"content": [
{"type": "input_text", "text": "Опишите, что изображено на этом изображении"},
{
"type": "input_image",
"image_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"
}
]
}
]
}'Пример ответа:
{
"id": "resp_67ccd3a9da748190baa7f1570fe91ac604becb25c45c1d41",
"object": "response",
"created_at": 1741476777,
"status": "completed",
"error": null,
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"model": "gpt-4.1",
"output": [
{
"type": "message",
"id": "msg_67ccd3acc8d48190a77525dc6de64b4104becb25c45c1d41",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "На этом изображении показан деревянный променад или тропа через пышные зеленые луга.,Выше голубое небо, усеянное несколькими облаками.。Сцена представляет собой спокойную природную зону.,Это может быть парк или заповедник.。На заднем плане деревья и кусты。Весь ландшафт представляет собой гармоничную природную среду.,Дощатые настилы предоставляют посетителям путь через водно-болотные угодья или луга, не влияя на окружающую экосистему.。",
"annotations": []
}
]
}
],
"parallel_tool_calls": true,
"previous_response_id": null,
"reasoning": {
"effort": null,
"summary": null
},
"store": true,
"temperature": 1.0,
"text": {
"format": {
"type": "text"
}
},
"tool_choice": "auto",
"tools": [],
"top_p": 1.0,
"truncation": "disabled",
"usage": {
"input_tokens": 328,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 52,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 380
},
"user": null,
"metadata": {}
}Инструмент поиска в Интернете ✅
curl https://88api.ai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"tools": [{ "type": "web_search_preview" }],
"input": "Какие позитивные новости сегодня??"
}'Пример ответа:
{
"id": "resp_67ccf18ef5fc8190b16dbee19bc54e5f087bb177ab789d5c",
"object": "response",
"created_at": 1741484430,
"status": "completed",
"error": null,
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"model": "gpt-4.1",
"output": [
{
"type": "web_search_call",
"id": "ws_67ccf18f64008190a39b619f4c8455ef087bb177ab789d5c",
"status": "completed"
},
{
"type": "message",
"id": "msg_67ccf190ca3881909d433c50b1f6357e087bb177ab789d5c",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "На сегодняшний день,2025Год3луна9день,Одна из положительных новостей, на которую стоит обратить внимание, заключается в том, что китайские ученые совершили крупный прорыв в области возобновляемых источников энергии.,Успешно разработан новый тип высокоэффективного солнечного элемента.,Коэффициент конверсии достиг рекордного уровня35%,Это может в значительной степени способствовать популяризации и применению чистой энергии.。Ожидается, что эта технология снизит стоимость производства солнечной энергии примерно на 100%.40%,Предоставление новых решений для сокращения глобальных выбросов углекислого газа。",
"annotations": [
{
"type": "url_citation",
"start_index": 42,
"end_index": 100,
"url": "https://example.com/renewable-energy-breakthrough/?utm_source=chatgpt.com",
"title": "Китайские учёные совершили крупный прорыв в области возобновляемой энергетики"
},
{
"type": "url_citation",
"start_index": 101,
"end_index": 150,
"url": "https://example.com/solar-cell-efficiency-record/?utm_source=chatgpt.com",
"title": "Новый высокоэффективный солнечный элемент установил рекорд конверсии"
},
{
"type": "url_citation",
"start_index": 151,
"end_index": 200,
"url": "https://example.com/clean-energy-cost-reduction/?utm_source=chatgpt.com",
"title": "Затраты на производство солнечной энергии, как ожидается, снизятся40%"
}
]
}
]
}
],
"parallel_tool_calls": true,
"previous_response_id": null,
"reasoning": {
"effort": null,
"summary": null
},
"store": true,
"temperature": 1.0,
"text": {
"format": {
"type": "text"
}
},
"tool_choice": "auto",
"tools": [
{
"type": "web_search_preview",
"domains": [],
"search_context_size": "medium",
"user_location": {
"type": "approximate",
"city": null,
"country": "US",
"region": null,
"timezone": null
}
}
],
"top_p": 1.0,
"truncation": "disabled",
"usage": {
"input_tokens": 328,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 356,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 684
},
"user": null,
"metadata": {}
}Инструмент поиска файлов ✅
curl https://88api.ai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"tools": [{
"type": "file_search",
"vector_store_ids": ["vs_1234567890"],
"max_num_results": 20
}],
"input": "Каковы характеристики и атрибуты древнего коричневого дракона??"
}'Пример ответа:
{
"id": "resp_67ccf4c55fc48190b71bd0463ad3306d09504fb6872380d7",
"object": "response",
"created_at": 1741485253,
"status": "completed",
"error": null,
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"model": "gpt-4.1",
"output": [
{
"type": "file_search_call",
"id": "fs_67ccf4c63cd08190887ef6464ba5681609504fb6872380d7",
"status": "completed",
"queries": ["Характеристики и свойства древнего бурого дракона"],
"results": null
},
{
"type": "message",
"id": "msg_67ccf4c93e5c81909d595b369351a9d309504fb6872380d7",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "По информации,Древние коричневые драконы обладают следующими чертами и атрибутами.:\n\n1. физические характеристики:Древний коричневый дракон был огромным,Длина тела до25-30рис,Размах крыльев ок.35рис。Их чешуя имеет цвет от темно-коричневого до медного.,С возрастом становится темнее。На голове характерные рога и шипы.,Сильная челюсть,Хорошо разрывает добычу。\n\n2. способность:Они могут плеваться мощной кислотой,Наносит серьезный коррозионный урон цели。Древние коричневые драконы также обладали отличными способностями к рытью.,Часто выкапывают сложные системы гнезд в пустынях или горах.。\n\n3. интеллект:Считается самой хитрой и терпеливой породой среди драконов.,Чрезвычайно высокий интеллект,Владение несколькими языками,и иметь сложное тактическое мышление。\n\n4. среда обитания:В основном населяют засушливые горные и пустынные районы.,Как жаркая и сухая среда。\n\n5. сокровище:Древние коричневые драконы, известные своими огромными сокровищами,Особенно люблю собирать медные монеты.、Рубиновые и магические предметы огня。\n\n6. жизнь:Одна из самых продолжительных жизней среди всех видов драконов.,пригодный для жизни2000-2500Год,Их сила и магические способности увеличиваются с возрастом.。\n\n7. характер:Чрезвычайно территориальный,Раздражительная и раздражительная личность,Не проявляйте милосердия к злоумышленникам,Но он также известен своим редким терпением.,Веками ожидая мести。",
"annotations": [
{
"type": "file_citation",
"index": 80,
"file_id": "file-4wDz5b167pAf72nx1h9eiN",
"filename": "dragons.pdf"
},
{
"type": "file_citation",
"index": 233,
"file_id": "file-4wDz5b167pAf72nx1h9eiN",
"filename": "dragons.pdf"
},
{
"type": "file_citation",
"index": 345,
"file_id": "file-4wDz5b167pAf72nx1h9eiN",
"filename": "dragons.pdf"
},
{
"type": "file_citation",
"index": 420,
"file_id": "file-4wDz5b167pAf72nx1h9eiN",
"filename": "dragons.pdf"
},
{
"type": "file_citation",
"index": 520,
"file_id": "file-4wDz5b167pAf72nx1h9eiN",
"filename": "dragons.pdf"
},
{
"type": "file_citation",
"index": 580,
"file_id": "file-4wDz5b167pAf72nx1h9eiN",
"filename": "dragons.pdf"
},
{
"type": "file_citation",
"index": 655,
"file_id": "file-4wDz5b167pAf72nx1h9eiN",
"filename": "dragons.pdf"
},
{
"type": "file_citation",
"index": 781,
"file_id": "file-4wDz5b167pAf72nx1h9eiN",
"filename": "dragons.pdf"
}
]
}
]
}
],
"parallel_tool_calls": true,
"previous_response_id": null,
"reasoning": {
"effort": null,
"summary": null
},
"store": true,
"temperature": 1.0,
"text": {
"format": {
"type": "text"
}
},
"tool_choice": "auto",
"tools": [
{
"type": "file_search",
"filters": null,
"max_num_results": 20,
"ranking_options": {
"ranker": "auto",
"score_threshold": 0.0
},
"vector_store_ids": ["vs_1234567890"]
}
],
"top_p": 1.0,
"truncation": "disabled",
"usage": {
"input_tokens": 18307,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 348,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 18655
},
"user": null,
"metadata": {}
}Ответ в потоковом режиме ✅
curl https://88api.ai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"instructions": "ты полезный помощник。",
"input": "Привет!",
"stream": true
}'Пример ответа потоковой передачи:
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9fdcecf488190bdd9a0409de3a1ec07b8b0ad4e5eb654","object":"response","created_at":1741290958,"status":"in_progress","error":null,"incomplete_details":null,"instructions":"ты полезный помощник。","max_output_tokens":null,"model":"gpt-4.1-2025-04-14","output":[],"parallel_tool_calls":true,"previous_response_id":null,"reasoning":{"effort":null,"summary":null},"store":true,"temperature":1.0,"text":{"format":{"type":"text"}},"tool_choice":"auto","tools":[],"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}}}
event: response.in_progress
data: {"type":"response.in_progress","response":{"id":"resp_67c9fdcecf488190bdd9a0409de3a1ec07b8b0ad4e5eb654","object":"response","created_at":1741290958,"status":"in_progress","error":null,"incomplete_details":null,"instructions":"ты полезный помощник。","max_output_tokens":null,"model":"gpt-4.1-2025-04-14","output":[],"parallel_tool_calls":true,"previous_response_id":null,"reasoning":{"effort":null,"summary":null},"store":true,"temperature":1.0,"text":{"format":{"type":"text"}},"tool_choice":"auto","tools":[],"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}}}
event: response.output_item.added
data: {"type":"response.output_item.added","output_index":0,"item":{"id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","type":"message","status":"in_progress","role":"assistant","content":[]}}
event: response.content_part.added
data: {"type":"response.content_part.added","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"part":{"type":"output_text","text":"","annotations":[]}}
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"delta":"Привет"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"delta":"!"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"delta":" я"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"delta":"способный"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"delta":"для"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"delta":"ты"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"delta":"поставлять"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"delta":"Что"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"delta":"помощь"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"delta":"?"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"delta":"?"}
event: response.output_text.done
data: {"type":"response.output_text.done","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"text":"Привет! Могу я чем-нибудь помочь??"}
event: response.content_part.done
data: {"type":"response.content_part.done","item_id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","output_index":0,"content_index":0,"part":{"type":"output_text","text":"Привет! Могу я чем-нибудь помочь??","annotations":[]}}
event: response.output_item.done
data: {"type":"response.output_item.done","output_index":0,"item":{"id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","type":"message","status":"completed","role":"assistant","content":[{"type":"output_text","text":"Привет! Могу я чем-нибудь помочь??","annotations":[]}]}}
event: response.completed
data: {"type":"response.completed","response":{"id":"resp_67c9fdcecf488190bdd9a0409de3a1ec07b8b0ad4e5eb654","object":"response","created_at":1741290958,"status":"completed","error":null,"incomplete_details":null,"instructions":"ты полезный помощник。","max_output_tokens":null,"model":"gpt-4.1-2025-04-14","output":[{"id":"msg_67c9fdcf37fc8190ba82116e33fb28c507b8b0ad4e5eb654","type":"message","status":"completed","role":"assistant","content":[{"type":"output_text","text":"Привет! Могу я чем-нибудь помочь??","annotations":[]}]}],"parallel_tool_calls":true,"previous_response_id":null,"reasoning":{"effort":null,"summary":null},"store":true,"temperature":1.0,"text":{"format":{"type":"text"}},"tool_choice":"auto","tools":[],"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":37,"output_tokens":11,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":48},"user":null,"metadata":{}}}Вызов функции ✅
curl https://88api.ai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"input": "Какая сегодня погода в Бостоне??",
"tools": [
{
"type": "function",
"name": "get_current_weather",
"description": "Получить текущую погоду для указанного места",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "город и штат,Например San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"]
}
},
"required": ["location", "unit"]
}
}
],
"tool_choice": "auto"
}'Пример ответа:
{
"id": "resp_67ca09c5efe0819096d0511c92b8c890096610f474011cc0",
"object": "response",
"created_at": 1741294021,
"status": "completed",
"error": null,
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"model": "gpt-4.1-2025-04-14",
"output": [
{
"type": "function_call",
"id": "fc_67ca09c6bedc8190a7abfec07b1a1332096610f474011cc0",
"call_id": "call_unLAR8MvFNptuiZK6K6HCy5k",
"name": "get_current_weather",
"arguments": "{\"location\":\"Бостон, MA\",\"unit\":\"celsius\"}",
"status": "completed"
}
],
"parallel_tool_calls": true,
"previous_response_id": null,
"reasoning": {
"effort": null,
"summary": null
},
"store": true,
"temperature": 1.0,
"text": {
"format": {
"type": "text"
}
},
"tool_choice": "auto",
"tools": [
{
"type": "function",
"description": "Получить текущую погоду для указанного места",
"name": "get_current_weather",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "город и штат,Например San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"]
}
},
"required": ["location", "unit"]
},
"strict": true
}
],
"top_p": 1.0,
"truncation": "disabled",
"usage": {
"input_tokens": 291,
"output_tokens": 23,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 314
},
"user": null,
"metadata": {}
}Способность рассуждать ✅
curl https://88api.ai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "o3-mini",
"input": "Сколько древесины может клевать дятел??",
"reasoning": {
"effort": "high"
}
}'Пример ответа:
{
"id": "resp_67ccd7eca01881908ff0b5146584e408072912b2993db808",
"object": "response",
"created_at": 1741477868,
"status": "completed",
"error": null,
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"model": "o1-2024-12-17",
"output": [
{
"type": "message",
"id": "msg_67ccd7f7b5848190a6f3e95d809f6b44072912b2993db808",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Это скороговорка, происходящая от английского языка"How much wood would a woodchuck chuck if a woodchuck could chuck wood"вопрос。в реальности,дятел(woodpecker)и сурок(woodchuck)это разные животные,А луговые собачки на самом деле этого не делают."клевать(chuck)"древесина。\n\nс научной точки зрения,Дятлы каждый день клюют деревья в поисках еды、Постройте логово или общайтесь。В среднем дятел может долбить около дерева в день.8000-12000Второсортный,Зависит от вида и конкретной цели。Если мы преобразуем это в количество древесины,Предполагая, что каждый клевок удаляет ок.0.1-0.2кубические сантиметры древесины,Таким образом, дятел теоретически мог бы удалить около800-2400кубические сантиметры древесины。\n\nОднако,Дятлы клюют древесину преимущественно для еды и гнездования.,а не просто удалять древесину,Так что этот расчет — всего лишь интересная теоретическая оценка.。",
"annotations": []
}
]
}
],
"parallel_tool_calls": true,
"previous_response_id": null,
"reasoning": {
"effort": "high",
"summary": null
},
"store": true,
"temperature": 1.0,
"text": {
"format": {
"type": "text"
}
},
"tool_choice": "auto",
"tools": [],
"top_p": 1.0,
"truncation": "disabled",
"usage": {
"input_tokens": 81,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 1035,
"output_tokens_details": {
"reasoning_tokens": 832
},
"total_tokens": 1116
},
"user": null,
"metadata": {}
}📮 Запрос
Конечная точка
POST /v1/responsesСоздайте модель ответов. Предоставьте ввод текста или изображения для создания текста или вывода в формате JSON. Позвольте модели вызывать ваш собственный код или используйте встроенные инструменты, такие как веб-поиск или поиск файлов, чтобы использовать ваши собственные данные в качестве входных данных для ответа модели.
Метод аутентификации
Включите в заголовок запроса для аутентификации ключа API следующее:
Authorization: Bearer $API_KEYГде $API_KEY — ваш ключ API.
Параметры тела запроса
ввод
Тип: строка или массив. Обязательно: Да
Ввод текста, изображения или файла, предоставляемый модели для генерации ответа.
Возможные типы
| Тип | Описание |
|---|---|
| Строка | Ввод текста, эквивалентный вводу текста с ролью пользователя |
| массив входов | Список из одного или нескольких входов, содержащих разные типы контента |
Входной объект сообщения
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| контент | Строка или массив | Да | Текст, изображение или аудиовход, предоставляемый модели для генерации ответа. Также может включать предыдущие ответы помощника |
| роль | строка | да | Роль входного сообщения. Необязательные значения: $API_KEY, assistant, system или developer |
| тип | Строка | Нет | Тип входного сообщения, всегда $API_KEY |
Тип элемента контента
Ввод текста
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| текст | строка | да | ввод текста, предоставленный модели |
| тип | строка | да | Тип входа, всегда $API_KEY |
Ввод изображения
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| деталь | строка | да | Уровень детализации изображения для отправки в модель. Необязательные значения: high, low или auto. По умолчанию — auto |
| тип | строка | да | Тип входа, всегда high |
| идентификатор_файла | Строка | Нет | Идентификатор файла для отправки в модель |
| URL-адрес_изображения | Строка | Нет | URL-адрес изображения для отправки в модель. Может быть полным URL-адресом или изображением в кодировке Base64 в URL-адресе данных |
Ввод файла
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| тип | строка | да | Тип входа, всегда high |
| данные_файла | Строка | Нет | Содержимое файла для отправки модели |
| идентификатор_файла | Строка | Нет | Идентификатор файла для отправки в модель |
| имя файла | Строка | Нет | Имя файла для отправки в модель |
Тип выходного элемента
Вывод текста
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| текст | строка | да | текстовый вывод, сгенерированный моделью |
| тип | строка | да | Тип выходного элемента, всегда high |
| аннотации | массив | да | аннотации для вывода текста |
Тип комментария
Ссылка на документ:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| идентификатор_файла | строка | да | ID файла |
| индекс | целое число | да | Индекс файла в списке файлов |
| тип | строка | да | Тип ссылки на файл, всегда file_citation |
URL-ссылка:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| конечный_индекс | целое число | Да | Индекс последнего символа сообщения, на которое ссылается URL-адрес |
| стартовый_индекс | целое число | Да | Индекс первого символа сообщения, на которое ссылается URL-адрес |
| титул | Строка | Да | Название сетевого ресурса |
| тип | строка | Да | Тип ссылки URL, всегда file_citation |
| URL | строка | да | URL сетевого ресурса |
Путь к файлу:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| идентификатор_файла | строка | да | ID файла |
| индекс | целое число | да | Индекс файла в списке файлов |
| тип | строка | да | Тип пути к файлу, всегда file_citation |
Отказ от ответа
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| отказ | строка | да | объяснение отказа модели |
| тип | строка | да | Отклоненный тип, всегда refusal |
Тип вызова инструмента
Вызов инструмента поиска файлов
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| идентификатор | строка | да | уникальный идентификатор, который будет вызываться инструментом поиска файлов |
| запросы | массив | да | Запросы, используемые для поиска файлов |
| статус | Строка | Да | Статус вызова инструмента поиска файлов. Возможные значения: refusal, searching, incomplete или failed |
| тип | строка | да | Тип, вызываемый инструментом поиска файлов, всегда refusal |
| результаты | Массив или ноль | Нет | Результаты вызова инструмента поиска файлов |
Вызов инструмента поиска сети
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| идентификатор | Строка | Да | Уникальный идентификатор, вызываемый инструментом сетевого поиска |
| статус | строка | да | статус вызова инструмента поиска сети |
| тип | строка | да | Тип, вызываемый инструментом сетевого поиска, всегда web_search_call |
Вызов инструмента-функции
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| аргументы | строка | Да | Строка аргументов JSON, передаваемая функции |
| идентификатор_вызова | Строка | Да | Уникальный идентификатор вызова инструмента-функции, сгенерированный моделью |
| имя | строка | да | Имя функции для запуска |
| тип | строка | да | Тип вызова функции, всегда web_search_call |
| идентификатор | Строка | Нет | Уникальный идентификатор вызова инструмента-функции |
| статус | Строка | Нет | Статус проекта. Возможные значения: web_search_call, completed или incomplete |
Вызов компьютерного инструмента
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| действие | объект | это | операции взаимодействия с компьютером, такие как щелчок, перетаскивание и т. д. |
| идентификатор_вызова | строка | да | Идентификатор, используемый при ответе на вывод вызова инструмента |
| идентификатор | строка | да | уникальный идентификатор, называемый компьютером |
| pending_safety_checks | массив | да | Ожидаются проверки безопасности компьютерных звонков |
| статус | Строка | Да | Статус проекта. Возможные значения: in_progress, completed или incomplete |
| тип | строка | да | Тип компьютерного вызова, всегда in_progress |
Тип работы компьютера:
| Тип операции | Описание |
|---|---|
| нажмите | операция щелчка мыши |
| двойной_клик | Двойной щелчок мышью |
| перетащить | операция перетаскивания |
| нажатие клавиши | ключевая операция |
| переехать | операция движения мыши |
| скриншот | Операция снимка экрана |
| прокрутка | операция прокрутки |
| тип | операция ввода текста |
| подожди | Дождитесь операции |
Вывод вызова компьютерного инструмента
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| идентификатор_вызова | строка | да | Идентификатор вызова компьютерного инструмента, выдавшего выходные данные |
| вывод | объект | это | Скриншот компьютера для инструментов использования компьютера |
| тип | строка | да | Тип вывода вызова компьютерного инструмента, всегда in_progress |
| подтвержденные_безопасности_проверки | Массив | Нет | Проверки безопасности, сообщаемые API и подтвержденные разработчиком |
| идентификатор | Строка | Нет | Вывод идентификатора при вызове компьютерного инструмента |
| статус | Строка | Нет | Введите статус сообщения. Возможные значения: in_progress, completed или incomplete |
Вывод вызова инструмента-функции
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| идентификатор_вызова | Строка | Да | Уникальный идентификатор вызова инструмента-функции, сгенерированный моделью |
| вывод | строка | да | Вывод строки JSON при вызове инструмента-функции |
| тип | строка | да | Тип вывода вызова функции, всегда in_progress |
| идентификатор | Строка | Нет | Вывод уникального идентификатора при вызове инструмента функции |
| статус | Строка | Нет | Статус проекта. Возможные значения: in_progress, completed или incomplete |
Элементы, связанные с выводом
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| идентификатор | строка | это | уникальный идентификатор содержимого вывода |
| резюме | массив | да | текстовое содержание вывода |
| тип | строка | Да | Тип объекта, всегда reasoning |
| зашифрованное_содержание | Строка или ноль | Нет | Зашифрованное содержимое предполагаемого элемента, заполняемое при создании ответа с использованием параметра включения reasoning |
| статус | Строка | Нет | Статус проекта. Возможные значения: reasoning, completed или incomplete |
Краткое изложение рассуждений:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| текст | строка | да | Краткое изложение выводов, используемых моделью при формировании ответа |
| тип | строка | Да | Тип объекта, всегда reasoning |
Справочник проекта
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| идентификатор | строка | да | Идентификатор элемента для ссылки |
| тип | строка | нет | Тип ссылающегося проекта, всегда reasoning |
модель
Тип: строка Обязательно: Да
Идентификатор модели, используемый для создания ответа, например gpt-4.1 или o3. OpenAI предлагает множество моделей с различными возможностями, характеристиками производительности и ценой. См. руководство по моделям, чтобы просмотреть и сравнить доступные модели.
включить
Тип: массив или ноль. Обязательно: Нет
Указывает дополнительные выходные данные для включения в ответ модели. В настоящее время поддерживаются следующие значения:
| ценность | описание |
|---|---|
file_search_call.results | Содержит результаты поиска для вызовов инструментов поиска файлов |
file_search_call.results | Содержит URL-адрес изображения во входном сообщении |
file_search_call.results | Содержит URL-адрес изображения в выводе компьютерного вызова |
file_search_call.results | Включает зашифрованную версию токена вывода в выходные данные элемента вывода |
инструкции
Тип: строка или значение NULL. Обязательно: Нет
Вставьте сообщение системы (или разработчика) в качестве первого элемента в контексте модели.
При использовании с file_search_call.results директивы предыдущего ответа не переносятся на следующий ответ. Это позволяет легко переключать системные (разработчикские) сообщения в новых ответах.
max_output_tokens
Тип: целое число или ноль. Обязательно: Нет
Верхний предел количества токенов, которые могут быть созданы для ответа, включая видимые выходные токены и токены вывода.
метаданные
Тип: Объект Обязательно: Нет
Коллекция из 16 пар ключ-значение, которые можно прикрепить к объекту. Это полезно для хранения дополнительной информации об объекте в структурированном формате, а также для запроса объекта через API или панель мониторинга.
Ключи представляют собой строки длиной не более 64 символов. Значение представляет собой строку максимальной длиной 512 символов.
параллельные_инструменты_вызовы
Тип: логическое значение или значение NULL. Обязательно: Нет Значение по умолчанию: true
Разрешить ли модели параллельный вызов инструментов.
предыдущий_response_id
Тип: строка или значение NULL. Обязательно: Нет
Уникальный идентификатор предыдущего ответа модели. Используйте этот параметр для создания многоходового разговора. Узнайте больше о статусе разговора.
рассуждения
Тип: объект или ноль. Обязательно: Нет Доступно только для моделей серии O.
Опции конфигурации для моделей вывода.
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| усилие | Строка или ноль | Нет | Уровень сложности рассуждений, необязательные значения: low, medium, high. Значение по умолчанию — medium. Сокращение усилий по выводу приводит к более быстрым ответам и уменьшению количества токенов, используемых для вывода в ответе |
| резюме | Строка или ноль | Нет | Краткое изложение вывода, выполненного моделью. Это полезно для отладки и понимания процесса вывода модели. Необязательные значения: low, medium, high |
| генерировать_суммари | Строка или ноль | Нет | УСТАРЕЛО: вместо этого используйте low. Краткое изложение выводов, выполненных моделью. Необязательные значения: medium, high, medium |
уровень_сервиса
Тип: строка или значение NULL. Обязательно: Нет По умолчанию: автоматически
Указывает уровень задержки, используемый для обработки запросов. Этот параметр актуален для клиентов, подписанных на услугу уровня масштабирования:
| ценность | описание |
|---|---|
auto | Если в проекте включен уровень масштабирования, кредиты уровня масштабирования будут использоваться до тех пор, пока не будут исчерпаны; если в проекте не включен уровень масштабирования, запросы будут обрабатываться с использованием уровня обслуживания по умолчанию, с меньшим временем бесперебойной работы SLA и без гарантий задержки |
auto | Запросы будут обрабатываться с использованием уровня служб по умолчанию с соглашением об уровне обслуживания с низким временем безотказной работы и отсутствием гарантий задержки |
auto | Запрос будет обработан с использованием уровня службы Flex Processing. Для получения дополнительной информации обратитесь к официальной документации |
Если этот параметр не установлен, поведение по умолчанию — auto.
Если этот параметр установлен, тело ответа будет содержать использованный auto.
магазин
Тип: логическое значение или значение NULL. Обязательно: Нет Значение по умолчанию: true
Сохранять ли сгенерированный ответ модели для последующего извлечения через API.
поток
Тип: логическое значение или значение NULL. Обязательно: Нет Значение по умолчанию: ложь
Если установлено значение true, данные ответа модели будут передаваться клиенту с использованием событий, отправленных сервером, при создании.
температура
Тип: число или ноль. Обязательно: Нет По умолчанию: 1
Используемая температура выборки от 0 до 2. Более высокие значения (например, 0,8) делают выходные данные более случайными, а более низкие значения (например, 0,2) делают их более целенаправленными и детерминированными. Обычно мы рекомендуем изменить это значение или auto, но не оба одновременно.
текст
Тип: Объект Обязательно: Нет
Параметры конфигурации для текстовых ответов модели. Это может быть обычный текст или структурированные данные JSON.
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| формат | Объект | Нет | Указывает формат, в котором должна быть выведена модель |
Настройка auto обеспечивает структурированный вывод, гарантируя, что модель будет соответствовать предоставленной вами схеме JSON. Дополнительную информацию см. в Руководстве по структурированному выводу.
Формат по умолчанию — auto без других опций.
Не рекомендуется для моделей gpt-4o и более новых:
Установите значение { "type": "json_object" }, чтобы включить старый режим JSON и гарантировать, что сообщения, генерируемые моделью, являются допустимыми JSON. Для поддерживаемых моделей предпочтительным является json_schema.
Тип текстового формата
Текст
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| тип | строка | это | определенный тип формата ответа. Всегда { "type": "json_object" } |
Схема JSON
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| имя | Строка | Да | Имя формата ответа. Должен содержать символы A–Z, A–Z, 0–9 или символы подчеркивания и тире. Максимальная длина — 64 |
| схема | Объект | Да | Схема формата ответа, описанная как объект схемы JSON |
| тип | строка | это | определенный тип формата ответа. Всегда { "type": "json_object" } |
| описание | Строка | Нет | Описание назначения формата ответа, используемого моделью для определения того, как отвечать в этом формате |
| строгий | Логическое или нулевое значение | Нет | Включить ли строгое соблюдение режима при создании выходных данных. По умолчанию — false. Если установлено значение true, модель всегда будет следовать точной схеме, определенной в поле схемы. В строгом режиме поддерживается только часть схемы JSON |
Объект JSON
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| тип | строка | это | определенный тип формата ответа. Всегда false |
Примечание. Модель не будет генерировать JSON без системного или пользовательского сообщения, предписывающего модели сделать это. Для поддерживаемых моделей рекомендуется false.
инструмент_выбор
Тип: строка или объект. Обязательно: Нет
Как модель выбирает инструмент (или инструменты), который будет использоваться при генерации ответа. См. параметр false, чтобы узнать, как указать инструменты, которые может вызывать модель.
Возможные типы
Режим выбора инструмента
Тип: строка
Определяет, вызывает ли модель инструменты и какие именно.
| ценность | описание |
|---|---|
false | Модель не вызывает никаких инструментов, но генерирует сообщение |
false | Модель может выбирать между генерацией сообщения или вызовом одного или нескольких инструментов |
false | Модель должна вызывать один или несколько инструментов |
Размещенный инструмент
Тип: Объект
Указывает, что модель должна использовать встроенные инструменты для генерации ответов.
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| тип | строка | да | Тип хост-инструмента, который должна использовать модель. Допустимые значения: file_search, web_search_preview, computer_use_preview |
Функциональный инструмент
Тип: Объект
Используйте эту опцию, чтобы заставить модель вызывать определенную функцию.
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| имя | строка | да | имя вызываемой функции |
| тип | строка | да | Для вызовов функций всегда используйте тип file_search |
инструменты
Тип: Массив Обязательно: Нет
Массив инструментов, которые модель может вызывать при генерации ответа. Вы можете указать, какой инструмент использовать, задав параметр file_search.
Для вашей модели можно использовать два типа инструментов:
- Встроенные инструменты: инструменты, предоставляемые OpenAI для расширения возможностей модели, например поиск в Интернете или поиск файлов.
- Вызовы функций (пользовательские инструменты): определенные вами функции, которые позволяют модели вызывать ваш собственный код.
Инструмент поиска файлов (Поиск файлов)
Тип: Объект
Инструмент для поиска соответствующего контента в загруженных файлах.
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| тип | строка | да | Тип инструмента поиска файлов, всегда file_search |
| вектор_store_ids | массив | да | список идентификаторов векторных магазинов для поиска |
| фильтры | объект | нет | применить фильтр |
| max_num_results | Целое число | Нет | Максимальное количество возвращаемых результатов. Это число должно быть от 1 до 50 (включительно) |
| параметры рейтинга | объект | нет | варианты ранжирования поиска |
Тип фильтра
Фильтр сравнения
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| ключ | строка | это | ключ для сравнения значения с |
| тип | строка | да | Указывает оператор сравнения: eq, ne, gt, gte, lt, lte- eq: равно <br />- ne: не равно <br />- gt: больше, чем <br />- gte: больше или равно <br />- lt: меньше, чем <br />- lte: меньше или равно |
| ценность | строка/число/логическое значение | да | Значение для сравнения с ключом свойства; поддерживает строковые, числовые и логические типы |
Комплексный фильтр
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| фильтры | массив | это | массив фильтров для объединения. Элементы могут быть фильтрами сравнения или составными фильтрами |
| тип | строка | да | тип операции: and или or |
Варианты ранжирования
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| рейтинг | строка | нет | Ранкер для поиска файлов |
| оценка_порога | Номер | Нет | Порог оценки для поиска файлов — число от 0 до 1. Числа ближе к 1 будут пытаться вернуть только наиболее релевантные результаты, но могут возвращать меньше результатов |
Инструмент «Функция» (Функция)
Тип: Объект
Определите функции в своем собственном коде, которые модель может дополнительно вызывать.
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| тип | строка | да | Тип функционального инструмента, всегда function |
| имя | строка | да | имя вызываемой функции |
| параметры | Объект | Да | Объект схемы JSON, описывающий параметры функции |
| строгий | логическое | да | Необходимо ли применять строгую проверку параметров. По умолчанию — function |
| описание | Строка | Нет | Описание функции. Модель использует это, чтобы определить, следует ли вызывать функцию |
Предварительный просмотр веб-поиска
Тип: Объект
Этот инструмент ищет в Интернете релевантные результаты для ответов.
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| тип | строка | да | Тип инструмента веб-поиска. Необязательные значения: function или web_search_preview_2025_03_11 |
| search_context_size | строка | нет | Общее руководство по объему контекстного окна, используемому для поиска. Необязательные значения: function, web_search_preview_2025_03_11, high. По умолчанию — medium |
| местоположение_пользователя | Объект | Нет | Местоположение пользователя |
| домены | массив | нет | список доменных имен для ограничения поиска |
Местоположение пользователя
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| тип | строка | это | позиционный тип аппроксимации. Всегда approximate |
| город | Строка | Нет | Свободный ввод текста для города пользователя, например «Сан-Франциско» |
| страна | Строка | Нет | Двухбуквенный код страны пользователя по стандарту ISO, например «США» |
| регион | Строка | Нет | Произвольный ввод текста для региона пользователя, например «Калифорния» |
| часовой пояс | строка | нет | Часовой пояс IANA пользователя, например. «Америка/Лос-Анджелес» |
Предварительный просмотр использования компьютера
Тип: Объект
Инструменты для управления виртуальными компьютерами.
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
| тип | строка | да | Тип инструмента, используемого компьютером. Всегда approximate |
| высота_дисплея | целое число | Да | Высота монитора компьютера |
| ширина_дисплея | целое число | да | Ширина монитора компьютера |
| окружающая среда | строка | да | Тип компьютерной среды для управления |
топ_п
Тип: число или ноль. Обязательно: Нет По умолчанию: 1
Альтернатива температуре отбора проб называется выборкой ядра, где модель учитывает помеченные результаты с массой вероятности top_p. Следовательно, 0,1 означает, что учитываются только токены, содержащие верхнюю 10%-ную массу вероятности.
Обычно мы рекомендуем изменить это значение или approximate, но не оба одновременно.
усечение
Тип: строка или значение NULL. Обязательно: Нет Значение по умолчанию: отключено.
Стратегия усечения ответов модели:
| ценность | описание |
|---|---|
auto | Если контекст этого ответа и предыдущего ответа превышает размер окна контекста модели, модель усекает ответ, чтобы он соответствовал окну контекста, удаляя записи в середине диалога |
auto | Если ответ модели превысит размер контекстного окна модели, запрос завершится с ошибкой 400 |
пользователь
Тип: строка Обязательно: Нет
Представляет уникальный идентификатор конечного пользователя, который помогает OpenAI отслеживать и обнаруживать злоупотребления.
📥 Ответ
Возвращает объект ответа.
Успешный ответ
Возвращает объект ответа или потоковую последовательность объектов ответа, если запрос был передан в потоковом режиме.
####ид
- Тип: строка
- Описание: Уникальный идентификатор ответа.
объект
- Тип: строка
- Описание: Тип объекта, значение — «ответ».
создано_at
- Тип: целое число
- Описание: временная метка создания ответа.
статус
- Тип: строка
- Описание: статус ответа, например «завершено», «в_прогрессе» и т. д.
ошибка
- тип: объект или ноль
- Описание: в случае возникновения ошибки укажите сообщение об ошибке.
неполные_детали
- тип: объект или ноль
- Описание: содержит подробную информацию, если ответ неполный.
инструкции
- Тип: строка или ноль.
- Описание: Системные инструкции, прилагаемые к модели.
max_output_tokens
- Тип: целое число или ноль.
- Описание: Максимальное количество выходных тегов.
модель
- Тип: строка
- Описание: используемое название модели.
вывод
- Тип: массив
- Описание: Содержит сгенерированные ответы и вызовы инструментов.
- Может включать:
- Объект сообщения (
auto: «сообщение») - Объект использования инструмента (
auto: "tool_use")
- Объект сообщения (
параллельные_инструменты_вызовы
- Тип: Логический
- Описание: включить ли параллельный вызов инструментов.
предыдущий_response_id
- Тип: строка или ноль.
- Описание: идентификатор предыдущего ответа (для многораундовых разговоров)
рассуждения
- Тип: Объект
- Описание: Информация, связанная с рассуждениями.
магазин
- Тип: Логический
- Описание: сохранять ли этот ответ.
температура
- Тип: Номер
- Описание: используемая температура отбора проб.
текст
- Тип: Объект
- Описание: Конфигурация формата вывода текста.
инструмент_выбор
- Тип: строка
- Описание: Стратегия выбора инструмента.
инструменты
- Тип: массив
- Описание: Список доступных инструментов.
топ_п
- Тип: Номер
- Описание: Порог выборки ядра.
усечение
- Тип: строка
- Описание: Стратегия усечения
использование
- Тип: Объект
- Описание: статистика использования токенов.
- Свойства:
input_tokens: введите количество используемых токенов.input_tokens: введите данные токена.input_tokens: вывести количество использованных токенов.input_tokens: сведения о выходном токене.input_tokens: общее количество токенов
пользователь
- Тип: строка или ноль.
- Описание: Идентификатор пользователя
метаданные
- Тип: Объект
- Описание: Дополнительная информация метаданных.