For reasoning models run through the Run API, debugoutput and outputs[0].content.raw join the model's thinking and its answer into one text, with no separator between them. For the answer alone, read the structured content instead:
outputs[0].content.answeris a list of the answer's text parts. Join them.Or, in
outputs[0].content.segments, keep the items whosetypeis"answer", in order. Items of type"thinking"hold the reasoning.On the WebSocket, the final
task_postprocess_endmessage has the sameanswerandsegmentsinmessage[0].content. While a reply streams, replace your copy on every update instead of appending (see streaming a reply).
The LLM Gateway keeps reasoning apart from the reply: in Chat Completions it can appear in message.reasoning. More: How do I get the result of an API request? and thinking and answer segments in our docs.
