namespace AIStudio.Provider;
///
/// Represents the capabilities of an AI model.
///
public enum Capability
{
///
/// No capabilities specified.
///
NONE,
///
/// We don't know what the AI model can do.
///
UNKNOWN,
///
/// The AI model can perform text input.
///
TEXT_INPUT,
///
/// The AI model can perform audio input, such as music or sound.
///
AUDIO_INPUT,
///
/// The AI model can perform one image input, such as one photo or drawing.
///
SINGLE_IMAGE_INPUT,
///
/// The AI model can perform multiple images as input, such as multiple photos or drawings.
///
MULTIPLE_IMAGE_INPUT,
///
/// The AI model can perform speech input.
///
SPEECH_INPUT,
///
/// The AI model can perform video input, such as video files or streams.
///
VIDEO_INPUT,
///
/// The AI model can generate text output.
///
TEXT_OUTPUT,
///
/// The AI model can generate audio output, such as music or sound.
///
AUDIO_OUTPUT,
///
/// The AI model can generate image output, such as photos or drawings.
///
IMAGE_OUTPUT,
///
/// The AI model can generate speech output.
///
SPEECH_OUTPUT,
///
/// The AI model can generate video output.
///
VIDEO_OUTPUT,
///
/// The AI model can perform reasoning tasks.
///
OPTIONAL_REASONING,
///
/// The AI model always performs reasoning.
///
ALWAYS_REASONING,
///
/// The AI model can embed information or data.
///
EMBEDDING,
///
/// The AI model can perform in real-time.
///
REALTIME,
///
/// The AI model can perform function calling, such as invoking APIs or executing functions.
///
FUNCTION_CALLING,
}