# Firebase.AI

## Summary

| ### Enumerations ||
|---|---|
| `https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1a9aa40ab7c18d8663cba0699bb4f67d8a{ https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1a9aa40ab7c18d8663cba0699bb4f67d8aa88183b946cc5f0e8c96b2e66e1c74a7e = 0, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1a9aa40ab7c18d8663cba0699bb4f67d8aa6472ce41c26babff27b4c28028093d77, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1a9aa40ab7c18d8663cba0699bb4f67d8aa6311ae17c1ee52b36e68aaf4ad066387, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1a9aa40ab7c18d8663cba0699bb4f67d8aa287399a17f4f8ccec7a7f8c666724ace, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1a9aa40ab7c18d8663cba0699bb4f67d8aa6b0f23249b46eb0c01e6659299d66b8b }` | enumA type describing possible reasons to block a prompt. |
| `https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ac4678075198d5c122a77c35a5d593e14{ https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ac4678075198d5c122a77c35a5d593e14a88183b946cc5f0e8c96b2e66e1c74a7e = 0, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ac4678075198d5c122a77c35a5d593e14a9dffbf69ffba8bc38bc4e01abf4b1675, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ac4678075198d5c122a77c35a5d593e14abe53a0541a6d36f6ecb879fa2c584b08, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ac4678075198d5c122a77c35a5d593e14a34e2d1989a1dbf75cd631596133ee5ee, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ac4678075198d5c122a77c35a5d593e14ab22f0418e8ac915eb66f829d262d14a2, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ac4678075198d5c122a77c35a5d593e14a0945359809dad1fbf3dea1c95a0da951 }` | enumContent part modality. |
| `https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455{ https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a88183b946cc5f0e8c96b2e66e1c74a7e = 0, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a11a755d598c0c417f9a36758c3da7481, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455aaf0e6be419dc2af93d93caca768aed99, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a6472ce41c26babff27b4c28028093d77, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455ad3a9b13d5048a26687e92197ed538ee6, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a6311ae17c1ee52b36e68aaf4ad066387, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a287399a17f4f8ccec7a7f8c666724ace, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a6b0f23249b46eb0c01e6659299d66b8b, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455ab978c2bce7d543f3141b73423f7531ac, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a7a5fd1c6fb926ffc941f1793f46ca958, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a2a5c62c8febbf29fdf4d0a3b17fe33d8, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a77dc3bed28ac6922734145b86e46d90f, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a5b84197756adbf411854bb320ddfcec3, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455af27bab21bdf9c452d2f86b903879895c, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455aff4e4ae1c40f1999aa912d6b92334a51, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a4994a8ffeba4ac3140beb89e8d41f174, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455ad05fc5c20ce064d4fb9f32090dbe4968, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a95693f4f6ba4d79ba3404b6baf6cbf58, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a57ea4140a04e9880b8ba3a231e907851, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ab636544c199b4ff23cce90300815c455a48b857ad3de1b31629f9d1e2c66ee16d }` | enumRepresents the reason why the model stopped generating content. |
| `https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ae7e954295da056c823c0963d6b457382{ https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ae7e954295da056c823c0963d6b457382a88183b946cc5f0e8c96b2e66e1c74a7e = 0, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ae7e954295da056c823c0963d6b457382a1bb7d92c816a9bebed2d7c998fec7564, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ae7e954295da056c823c0963d6b457382a6d92ab74bd52ac359f68e33d628805a0, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ae7e954295da056c823c0963d6b457382aa1a132d2d12093f5cfeddf67393d2211, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ae7e954295da056c823c0963d6b457382ac94148758d8111d82f63cae96d7b6e55, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1ae7e954295da056c823c0963d6b457382a522458ae9d5c4d7020f713f90f5065dd }` | enumCategories describing the potential harm a piece of content may pose. |
| `https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1a852882073bf7c7a6bd1489ade4b7f51f{ https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1a852882073bf7c7a6bd1489ade4b7f51fa9dffbf69ffba8bc38bc4e01abf4b1675, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1a852882073bf7c7a6bd1489ade4b7f51fabe53a0541a6d36f6ecb879fa2c584b08, https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1a852882073bf7c7a6bd1489ade4b7f51fab22f0418e8ac915eb66f829d262d14a2 }` | enumThe response type the model should return with. |

| ### Typedefs ||
|---|---|
| `https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1a412ffed0777fe8c7f295623bd31688be` | using `Func< https://firebase.google.com/docs/reference/unity/class/firebase/a-i/session-resumption-config#class_firebase_1_1_a_i_1_1_session_resumption_config, CancellationToken, Task< ClientWebSocket >>` |
| `https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1aa793c166ea698b12ab01d4228d1b2399` | using `Func< string, IDictionary< string, object >, IEnumerable< https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/model-content#struct_firebase_1_1_a_i_1_1_model_content >, IEnumerable< https://firebase.google.com/docs/reference/unity/interface/firebase/a-i/i-template-tool#interface_firebase_1_1_a_i_1_1_i_template_tool >, https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/template-tool-config#struct_firebase_1_1_a_i_1_1_template_tool_config?, CancellationToken, Task< https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/generate-content-response#struct_firebase_1_1_a_i_1_1_generate_content_response >>` |
| `https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i_1a20ba4e31f3bc912a5364a25507872d6a` | using `Func< string, IDictionary< string, object >, IEnumerable< https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/model-content#struct_firebase_1_1_a_i_1_1_model_content >, IEnumerable< https://firebase.google.com/docs/reference/unity/interface/firebase/a-i/i-template-tool#interface_firebase_1_1_a_i_1_1_i_template_tool >, https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/template-tool-config#struct_firebase_1_1_a_i_1_1_template_tool_config?, CancellationToken, IAsyncEnumerable< https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/generate-content-response#struct_firebase_1_1_a_i_1_1_generate_content_response >>` |

| ### Classes ||
|---|---|
| [Firebase.AI.AutoFunctionDeclaration](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/auto-function-declaration) | Structured representation of a function declaration, designed to be automatically handled when using [Chat](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/chat#class_firebase_1_1_a_i_1_1_chat), instead of requiring manual handling. |
| [Firebase.AI.AutoFunctionDescriptionAttribute](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/auto-function-description-attribute) | Attribute that can be attached to parameters to give them a description, used when using `https://firebase.google.com/docs/reference/unity/class/firebase/a-i/auto-function-declaration#class_firebase_1_1_a_i_1_1_auto_function_declaration`. |
| [Firebase.AI.Chat](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/chat) | An object that represents a back-and-forth chat with a model, capturing the history and saving the context in memory between each message sent. |
| [Firebase.AI.FirebaseAI](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/firebase-a-i) | The entry point for all [Firebase](https://firebase.google.com/docs/reference/unity/namespace/firebase#namespace_firebase)[AI](https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i) SDK functionality. |
| [Firebase.AI.GenerativeModel](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/generative-model) | A type that represents a remote multimodal model (like Gemini), with the ability to generate content based on various input types. |
| [Firebase.AI.JsonSchema](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/json-schema) | A `https://firebase.google.com/docs/reference/unity/class/firebase/a-i/json-schema#class_firebase_1_1_a_i_1_1_json_schema` object allows the definition of input and output data types. |
| [Firebase.AI.LiveGenerativeModel](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/live-generative-model) | A live, generative [AI](https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i) model for real-time interaction. |
| [Firebase.AI.LiveSession](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/live-session) | Manages asynchronous communication with Gemini model over a WebSocket connection. |
| [Firebase.AI.Schema](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/schema) | A `https://firebase.google.com/docs/reference/unity/class/firebase/a-i/schema#class_firebase_1_1_a_i_1_1_schema` object allows the definition of input and output data types. |
| [Firebase.AI.SchemaInfoAttribute](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/schema-info-attribute) | Attribute that can be used to define various fields when generating the [JsonSchema](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/json-schema#class_firebase_1_1_a_i_1_1_json_schema) for it. |
| [Firebase.AI.SessionResumptionConfig](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/session-resumption-config) | Configuration for the session resumption mechanism. |
| [Firebase.AI.TemplateChatSession](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/template-chat-session) | An object that represents a back-and-forth chat with a template model, capturing the history and saving the context in memory between each message sent. |
| [Firebase.AI.TemplateGenerativeModel](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/template-generative-model) | A type that represents a remote multimodal model (like Gemini), with the ability to generate content based on defined server prompt templates. |
| [Firebase.AI.TemplateTool](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/template-tool) | Static class containing the various [ITemplateTool](https://firebase.google.com/docs/reference/unity/interface/firebase/a-i/i-template-tool#interface_firebase_1_1_a_i_1_1_i_template_tool)'s that are supported. |

| ### Structs ||
|---|---|
| [Firebase.AI.ActivityDetectionConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/activity-detection-config) | Configures the model's automatic detection of user activity. |
| [Firebase.AI.AudioTranscriptionConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/audio-transcription-config) | A struct used to configure speech transcription settings. |
| [Firebase.AI.Candidate](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/candidate) | A struct representing a possible reply to a content generation prompt. |
| [Firebase.AI.Citation](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/citation) | A struct describing a source attribution. |
| [Firebase.AI.CitationMetadata](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/citation-metadata) | A collection of source attributions for a piece of content. |
| [Firebase.AI.CodeExecution](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/code-execution) | A tool that allows the model to execute code. |
| [Firebase.AI.ContextWindowCompressionConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/context-window-compression-config) | Enables context window compression to manage the model's context window. |
| [Firebase.AI.CountTokensResponse](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/count-tokens-response) | The model's response to a count tokens request. |
| [Firebase.AI.FunctionCallingConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/function-calling-config) | Configuration for specifying function calling behavior. |
| [Firebase.AI.FunctionDeclaration](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/function-declaration) | Structured representation of a function declaration. |
| [Firebase.AI.GenerateContentResponse](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/generate-content-response) | The model's response to a generate content request. |
| [Firebase.AI.GenerateObjectResponse\< T \>](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/generate-object-response-t-) | The model's response to a generate object request. |
| [Firebase.AI.GenerationConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/generation-config) | A struct defining model parameters to be used when sending generative [AI](https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i) requests to the backend model. |
| [Firebase.AI.GoogleMaps](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/google-maps) | A tool that allows the model to use Grounding with Google Maps. |
| [Firebase.AI.GoogleMapsGroundingChunk](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/google-maps-grounding-chunk) | A grounding chunk sourced from Google Maps. |
| [Firebase.AI.GoogleSearch](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/google-search) | A tool that allows the generative model to connect to Google Search to access and incorporate up-to-date information from the web into its responses. |
| [Firebase.AI.GroundingChunk](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/grounding-chunk) | Represents a chunk of retrieved data that supports a claim in the model's response. |
| [Firebase.AI.GroundingMetadata](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/grounding-metadata) | Metadata returned to the client when grounding is enabled. |
| [Firebase.AI.GroundingSupport](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/grounding-support) | Provides information about how a specific segment of the model's response is supported by the retrieved grounding chunks. |
| [Firebase.AI.ImageConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/image-config) | Configuration options for generating images with Gemini models. |
| [Firebase.AI.LatLng](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/lat-lng) | An struct that represents a latitude/longitude pair. |
| [Firebase.AI.LiveGenerationConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/live-generation-config) | A struct defining model parameters to be used when generating live session content. |
| [Firebase.AI.LiveSessionContent](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/live-session-content) | Content generated by the model in a live session. |
| [Firebase.AI.LiveSessionGoingAway](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/live-session-going-away) | A server message indicating that the server will not be able to service the client soon. |
| [Firebase.AI.LiveSessionResponse](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/live-session-response) | Represents the response from the model for live content updates. |
| [Firebase.AI.LiveSessionResumptionUpdate](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/live-session-resumption-update) | An update of the session resumption state. |
| [Firebase.AI.LiveSessionToolCall](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/live-session-tool-call) | A request to use a tool from the live session. |
| [Firebase.AI.LiveSessionToolCallCancellation](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/live-session-tool-call-cancellation) | A request to cancel using a tool from the live session. |
| [Firebase.AI.ModalityTokenCount](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/modality-token-count) | Represents token counting info for a single modality. |
| [Firebase.AI.ModelContent](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/model-content) | A type describing data in media formats interpretable by an [AI](https://firebase.google.com/docs/reference/unity/namespace/firebase/a-i#namespace_firebase_1_1_a_i) model. |
| [Firebase.AI.MultiSpeakerVoiceConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/multi-speaker-voice-config) | Configuration for a multi-speaker audio generation setup. |
| [Firebase.AI.PromptFeedback](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/prompt-feedback) | A metadata struct containing any feedback the model had on the prompt it was provided. |
| [Firebase.AI.RealtimeInputConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/realtime-input-config) | Configures model input behavior when generating content in the Live API via the realtime supported methods |
| [Firebase.AI.RequestOptions](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/request-options) | Configuration parameters for sending requests to the backend. |
| [Firebase.AI.RetrievalConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/retrieval-config) | Information which can be used by tools during inference calls. |
| [Firebase.AI.SafetyRating](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/safety-rating) | A type defining potentially harmful media categories and their model-assigned ratings. |
| [Firebase.AI.SafetySetting](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/safety-setting) | A type used to specify a threshold for harmful content, beyond which the model will return a fallback response instead of generated content. |
| [Firebase.AI.SearchEntryPoint](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/search-entry-point) | A struct representing the Google Search entry point. |
| [Firebase.AI.Segment](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/segment) | Represents a specific segment within a `https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/model-content#struct_firebase_1_1_a_i_1_1_model_content` struct, often used to pinpoint the exact location of text or data that grounding information refers to. |
| [Firebase.AI.SlidingWindow](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/sliding-window) | Configures the sliding window context compression mechanism. |
| [Firebase.AI.SpeakerVoiceConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/speaker-voice-config) | Configures a participating speaker within a multi-speaker setup. |
| [Firebase.AI.SpeechConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/speech-config) | A struct used to configure speech generation settings. |
| [Firebase.AI.SpeechMetadata](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/speech-metadata) | Structured speech metadata associated with a `https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/model-content/text-part#struct_firebase_1_1_a_i_1_1_model_content_1_1_text_part`. |
| [Firebase.AI.TemplateToolConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/template-tool-config) | [Tool](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/tool#struct_firebase_1_1_a_i_1_1_tool) configuration for any [TemplateTool](https://firebase.google.com/docs/reference/unity/class/firebase/a-i/template-tool#class_firebase_1_1_a_i_1_1_template_tool) specified in the request. |
| [Firebase.AI.ThinkingConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/thinking-config) | Configuration options for Thinking features. |
| [Firebase.AI.Tool](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/tool) | A helper tool that the model may use when generating responses. |
| [Firebase.AI.ToolConfig](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/tool-config) | [Tool](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/tool#struct_firebase_1_1_a_i_1_1_tool) configuration for any `https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/tool#struct_firebase_1_1_a_i_1_1_tool` specified in the request. |
| [Firebase.AI.Transcription](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/transcription) | A transcription of the audio sent in a live session. |
| [Firebase.AI.UrlContext](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/url-context) | A tool that allows you to provide additional context to the models in the form of public web URLs. |
| [Firebase.AI.UrlContextMetadata](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/url-context-metadata) | Metadata related to the [UrlContext](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/url-context#struct_firebase_1_1_a_i_1_1_url_context) tool. |
| [Firebase.AI.UrlMetadata](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/url-metadata) | Metadata for a single URL retrieved by the [UrlContext](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/url-context#struct_firebase_1_1_a_i_1_1_url_context) tool. |
| [Firebase.AI.UsageMetadata](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/usage-metadata) | Token usage metadata for processing the generate content request. |
| [Firebase.AI.WebGroundingChunk](https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/web-grounding-chunk) | A grounding chunk sourced from the web. |

| ### Interfaces ||
|---|---|
| [Firebase.AI.IFirebaseDeserializable](https://firebase.google.com/docs/reference/unity/interface/firebase/a-i/i-firebase-deserializable) | Interface to define a method to construct the object from a Dictionary. |
| [Firebase.AI.ILiveSessionMessage](https://firebase.google.com/docs/reference/unity/interface/firebase/a-i/i-live-session-message) | Represents a message received from a live session. |
| [Firebase.AI.ITemplateTool](https://firebase.google.com/docs/reference/unity/interface/firebase/a-i/i-template-tool) | Tools that are intended to be used by server prompt templates. |

## Enumerations

### BlockReason

```c#
 BlockReason
```
A type describing possible reasons to block a prompt.

| Properties ||
|---|---|
| `Blocklist` | The prompt was blocked because it contained terms from the terminology blocklist. |
| `Other` | All other block reasons. |
| `ProhibitedContent` | The prompt was blocked due to prohibited content. |
| `Safety` | The prompt was blocked because it was deemed unsafe. |
| `Unknown` | A new and not yet supported value. |

### ContentModality

```c#
 ContentModality
```
Content part modality.

| Properties ||
|---|---|
| `Audio` | Audio. |
| `Document` | Document, e.g. PDF. |
| `Image` | Image. |
| `Text` | Plain text. |
| `Unknown` | A new and not yet supported value. |
| `Video` | Video. |

### FinishReason

```c#
 FinishReason
```
Represents the reason why the model stopped generating content.

| Properties ||
|---|---|
| `Blocklist` | Token generation was stopped because the response contained forbidden terms. |
| `ImageOther` | Image generation stopped because of other miscellaneous issue. |
| `ImageProhibitedContent` | Image generation stopped because generated images have other prohibited content. |
| `ImageRecitation` | Image generation stopped due to recitation. |
| `ImageSafety` | Token generation stopped because generated images contain safety violations. |
| `Language` | The response candidate content was flagged for using an unsupported language. |
| `MalformedFunctionCall` | Token generation was stopped because the function call generated by the model was invalid. |
| `MalformedResponse` | Finished due to malformed response. |
| `MaxTokens` | The maximum number of tokens as specified in the request was reached. |
| `MissingThoughtSignature` | Request has at least one thought signature missing. |
| `NoImage` | The model was expected to generate an image, but none was generated. |
| `Other` | All other reasons that stopped token generation. |
| `ProhibitedContent` | Token generation was stopped because the response contained potentially prohibited content. |
| `Recitation` | The token generation was stopped because the response was flagged for unauthorized citations. |
| `SPII` | Token generation was stopped because of Sensitive Personally Identifiable Information (SPII). |
| `Safety` | The token generation was stopped because the response was flagged for safety reasons. |
| `Stop` | Natural stop point of the model or provided stop sequence. |
| `TooManyToolCalls` | Model called too many tools consecutively, thus the system exited execution. |
| `UnexpectedToolCall` | Model generated a tool call but no tools were enabled in the request. |
| `Unknown` | A new and not yet supported value. |

### HarmCategory

```c#
 HarmCategory
```
Categories describing the potential harm a piece of content may pose.

| Properties ||
|---|---|
| `CivicIntegrity` | Content that may be used to harm civic integrity. |
| `DangerousContent` | Promotes or enables access to harmful goods, services, or activities. |
| `Harassment` | Harassment content. |
| `HateSpeech` | Negative or harmful comments targeting identity and/or protected attributes. |
| `SexuallyExplicit` | Contains references to sexual acts or other lewd content. |
| `Unknown` | A new and not yet supported value. |

### ResponseModality

```c#
 ResponseModality
```
The response type the model should return with.

| Properties ||
|---|---|
| `Audio` | **Public Experimental**: Specifies that the model should generate audio data. Use this modality with a `https://firebase.google.com/docs/reference/unity/struct/firebase/a-i/live-generation-config#struct_firebase_1_1_a_i_1_1_live_generation_config` to create audio content based on the provided input or prompts with a `https://firebase.google.com/docs/reference/unity/class/firebase/a-i/live-generative-model#class_firebase_1_1_a_i_1_1_live_generative_model`. |
| `Image` | **Public Experimental**: Specifies that the model should generate image data. Use this modality when you want the model to create visual content based on the provided input or prompts. The response might contain one or more generated images. See the [image generation](https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal-response-generation#image-generation) documentation for more details. Warning: Image generation using Gemini 2.0 Flash is a **Public Experimental** feature, which means that it is not subject to any SLA or deprecation policy and could change in backwards-incompatible ways. |
| `Text` | Specifies that the model should generate textual content. Use this modality when you need the model to produce written language, such as answers to questions, summaries, creative writing, code snippets, or structured data formats like JSON. |

## Typedefs

### ClientWebSocketFactory

```c#
Func< SessionResumptionConfig, CancellationToken, Task< ClientWebSocket >> ClientWebSocketFactory
```

### GenerateContentFunc

```c#
Func< string, IDictionary< string, object >, IEnumerable< ModelContent >, IEnumerable< ITemplateTool >, TemplateToolConfig?, CancellationToken, Task< GenerateContentResponse >> GenerateContentFunc
```

### GenerateContentStreamFunc

```c#
Func< string, IDictionary< string, object >, IEnumerable< ModelContent >, IEnumerable< ITemplateTool >, TemplateToolConfig?, CancellationToken, IAsyncEnumerable< GenerateContentResponse >> GenerateContentStreamFunc
```