OptionalgenerationIf true, indicates that the model is done generating. When model is interrupted while generating there will be no generation_complete message in interrupted turn, it will go through interrupted > turn_complete. When model assumes realtime playback there will be delay between generation_complete and turn_complete that is caused by model waiting for playback to finish. If true, indicates that the model has finished generating all content. This is a signal to the client that it can stop sending messages.
OptionalgroundingMetadata returned to client when grounding is enabled.
OptionalinputInput transcription. The transcription is independent to the model turn which means it doesn’t imply any ordering between transcription and model turn.
OptionalinterruptedIf true, indicates that a client message has interrupted current model generation. If the client is playing out the content in realtime, this is a good signal to stop and empty the current queue.
OptionalmodelThe content that the model has generated as part of the current conversation with the user.
OptionaloutputOutput transcription. The transcription is independent to the model turn which means it doesn’t imply any ordering between transcription and model turn.
OptionalturnIf true, indicates that the model is done generating. Generation will only start in response to additional client messages. Can be set alongside content, indicating that the content is the last in the turn.
OptionalturnReason for the turn is complete.
OptionalurlMetadata related to url context retrieval tool.
OptionalwaitingIf true, indicates that the model is not generating content because it is waiting for more input from the user, e.g. because it expects the user to continue talking.
Incremental server update generated by the model in response to client messages.
Content is generated as quickly as possible, and not in real time. Clients may choose to buffer and play it out in real time.