Data API / DataForSEO / AI Optimization
Setting ‘LLM Responses ChatGPT’ Tasks
Queues a ChatGPT prompt instead of waiting for the reply, returning a task id. Adds system_message and message_chain over the live endpoint, so a multi-turn conversation can be sent in one task. Wrapped in DataForSEO's envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. ⚠️ Not every model supports queuing - check task_post_supported in get_dataforseo_ai_chat_gpt_llm_responses_models. Retrieve with get_dataforseo_ai_chat_gpt_llm_responses_fetch.
Параметры
Параметров пути, запроса и заголовков нет.
Тело запроса
user_promptstringОбязательныйprompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field
model_namestringОбязательныйname of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; for example, if gpt-4.1 is specified, the gpt-4.1-2025-04-14 will be set as model_name automatically; you can receive the list of available LLM models by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models
max_output_tokensintegerНеобязательныйmaximum number of tokens in the AI response optional field minimum value for reasoning models (e.g., reasoning is true in the Models endpoint): 1024; minimum value for non-reasoning models: 16; maximum value: 4096; default value: 2048
temperaturenumberНеобязательныйrandomness of the AI response optional field higher values make output more diverse; lower values make output more focused; minimum value: 0 maximum value: 2 default value: 0.94 Note: not supported in reasoning models
top_pnumberНеобязательныйsystem_messagestringНеобязательныйinstructions for the AI behaviour optional field defines the AI's role, tone, or specific behavior; you can specify up to 500 characters in the system_message field
message_chainobject[]Необязательныйconversation history optional field array of message objects representing previous conversation turns; each object must contain role and message parameters: role string with either user or ai role; message string with message content (max 500 characters); you can specify the maximum of 10 message objects in the array; example: "message_chain": [{"role":"user","message":"Hello, what’s up?"},{"role":"ai","message":"Hello! I’m doing well, thank you. How can I assist you today?"}]
rolestringОбязательныйДопустимые значения: user · ai
messagestringОбязательныйpostback_urlstringНеобязательныйURL for sending task results optional field once the task is completed, we will send a POST request with its results compressed in the gzip format to the postback_url you specified you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable. We will set the necessary values before sending the request. example: http://your-server.com/postbackscript?id=$id http://your-server.com/postbackscript?id=$id&tag=$tag Note: special character in postback_url will be urlencoded; i.a., the # character will be encoded into %23learn more on our Help Center
pingback_urlstringНеобязательныйnotification URL of a completed task optional field when a task is completed we will notify you by GET request sent to the URL you have specified you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable. We will set the necessary values before sending the request example: http://your-server.com/pingscript?id=$id http://your-server.com/pingscript?id=$id&tag=$tag Note: special character in pingback_url will be urlencoded; i.a., the # character will be encoded into %23learn more on our Help Center
tagstringНеобязательныйuser-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data array of the response
Пример запроса
curl -X POST "https://openapi.felo.ai/v1/beta/dataforseo/ai_optimization/chat_gpt/llm_responses/task_post" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_prompt": "<string>",
"model_name": "<string>",
"max_output_tokens": 0,
"temperature": 0,
"top_p": 0,
"system_message": "<string>",
"message_chain": [
{}
],
"postback_url": "<string>"
}'Ответ
Поля ответа
versionstringНеобязательныйthe current version of the API
status_codeintegerНеобязательныйgeneral status code you can find the full list of the response codes here Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions
status_messagestringНеобязательныйgeneral informational message you can find the full list of general informational messages here
timestringНеобязательныйexecution time, seconds
costnumberНеобязательныйtotal tasks cost, USD
tasks_countintegerНеобязательныйthe number of tasks in the tasksarray
tasks_errorintegerНеобязательныйthe number of tasks in the tasks array returned with an error
tasksstring[]Необязательныйarray of tasks
idstringНеобязательныйunique task identifier in our system unique task identifier in the UUID format
status_codeintegerНеобязательныйstatus code of the task generated by DataForSEO; can be within the following range: 10000-60000 you can find the full list of response codes here
status_messagestringНеобязательныйinformational message of the task you can find the full list of general informational messages here
timestringНеобязательныйexecution time, seconds
costnumberНеобязательныйcost of the task, USD
result_countintegerНеобязательныйnumber of elements in the result array
pathstring[]НеобязательныйURL path
dataobjectНеобязательныйcontains the same parameters that you specified in the POST request
resultstring[]Необязательныйarray of results in this case, the value will be null