There are a few possible uses of new message addition feature, besides that you can add messages when creating the conversation ID itself:
Preloading a conversation with messages: a developer message instead of using “instructions”, multi-shot examples of how to respond as training. Note that the ‘conversations’ mechanism can auto-drop old turns, so it is not a good place for a permanent message if you use “truncation”…“auto”.
Applying the new input directly to the conversation object instead of as “input” of an API call, so retries don’t need to re-send input against an uncertain state of “conversation”. Requiring more latency of another API call to do so.
Externally-run products such as knowledge search that don’t involve the conversations AI itself can be placed as an understandable context, instead of a multiturn addition as “input”.
Or: copying out all the objects to make a new conversation or branch, for example, to limit the length being run, to strip old reasoning and tools, to overcome the poor implementation and the unbounded costs.