> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentium.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Vision

> Public vision signatures and configuration in @agentium/core 4.0.0.

Import these **14 exports** from `@agentium/core`. Read the [vision guide](/voice/vision-agents) for setup and behavior, or return to the [package reference](/api-reference/core).

A `?` marks an optional field. These are declarations for lookup; run the examples in the linked guide. Follow related-type links for Agentium types and source links for imported dependency types.

## GoogleVisionLiveConfig

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/providers/google-vision-live.ts)

```typescript theme={null}
export interface GoogleVisionLiveConfig {
    apiKey?: string;
}
```

## GoogleVisionLiveProvider

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/providers/google-vision-live.ts)

```typescript theme={null}
/**
 * Vision-capable provider using Gemini 3.1 Flash Live.
 * Supports audio + video frame input via the Live API.
 */
export declare class GoogleVisionLiveProvider implements VisionProvider {
    readonly providerId = "google-vision-live";
    readonly modelId: string;
    constructor(modelId?: string, config?: GoogleVisionLiveConfig);
    connect(config: VisionSessionConfig): Promise<VisionConnection>;
}
```

Related: [`GoogleVisionLiveConfig`](/api-reference/core/vision#googlevisionliveconfig), [`VisionConnection`](/api-reference/core/vision#visionconnection), [`VisionProvider`](/api-reference/core/vision#visionprovider), [`VisionSessionConfig`](/api-reference/core/vision#visionsessionconfig).

## ThinkingLevel

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/types.ts)

```typescript theme={null}
export type ThinkingLevel = "minimal" | "low" | "medium" | "high";
```

## VisionAgent

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/vision-agent.ts)

```typescript theme={null}
export declare class VisionAgent {
    readonly name: string;
    get memory(): MemoryManager | null;
    constructor(config: VisionAgentConfig);
    connect(opts?: {
        apiKey?: string;
        sessionId?: string;
        userId?: string;
    }): Promise<VisionSession>;
}
```

Related: [`MemoryManager`](/api-reference/core/memory#memorymanager), [`VisionAgentConfig`](/api-reference/core/vision#visionagentconfig), [`VisionSession`](/api-reference/core/vision#visionsession).

## VisionAgentConfig

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/types.ts)

```typescript theme={null}
export interface VisionAgentConfig {
    name: string;
    provider: VisionProvider;
    instructions?: string;
    tools?: ToolDef[];
    voice?: string;
    /** BCP-47 language code for speech I/O (e.g. "en-US", "hi-IN", "ja-JP"). */
    language?: string;
    /** Suggested video frame rate. Default: 1. */
    fps?: number;
    /** Gemini 3.1+ thinking level. */
    thinkingLevel?: ThinkingLevel;
    temperature?: number;
    eventBus?: EventBus;
    logLevel?: LogLevel;
    memory?: UnifiedMemoryConfig;
    model?: ModelProvider;
    sessionId?: string;
    userId?: string;
    skills?: Array<Skill | string>;
    costTracker?: CostTracker;
}
```

Related: [`CostTracker`](/api-reference/core/cost#costtracker), [`EventBus`](/api-reference/core/events#eventbus), [`LogLevel`](/api-reference/core/logger#loglevel), [`ModelProvider`](/api-reference/core/models#modelprovider), [`Skill`](/api-reference/core/skills#skill), [`ThinkingLevel`](/api-reference/core/vision#thinkinglevel), [`ToolDef`](/api-reference/core/tools#tooldef), [`UnifiedMemoryConfig`](/api-reference/core/memory#unifiedmemoryconfig), [`VisionProvider`](/api-reference/core/vision#visionprovider).

## VisionConnection

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/types.ts)

```typescript theme={null}
export interface VisionConnection {
    sendAudio(data: Buffer): void;
    /** Send a video frame or image to the model. */
    sendImage(data: Buffer, mimeType?: string): void;
    sendText(text: string): void;
    sendToolResult(callId: string, result: string): void;
    interrupt(): void;
    close(): Promise<void>;
    on<K extends VisionEvent>(event: K, handler: (data: VisionEventMap[K]) => void): void;
    off<K extends VisionEvent>(event: K, handler: (data: VisionEventMap[K]) => void): void;
}
```

Related: [`VisionEvent`](/api-reference/core/vision#visionevent), [`VisionEventMap`](/api-reference/core/vision#visioneventmap).

## VisionEvent

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/types.ts)

```typescript theme={null}
export type VisionEvent = keyof VisionEventMap;
```

Related: [`VisionEventMap`](/api-reference/core/vision#visioneventmap).

## VisionEventMap

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/types.ts)

```typescript theme={null}
export type VisionEventMap = {
    audio: {
        data: Buffer;
        mimeType?: string;
    };
    text: {
        text: string;
    };
    transcript: {
        text: string;
        role: "user" | "assistant";
    };
    tool_call: VisionToolCall;
    usage: {
        promptTokens: number;
        completionTokens: number;
        totalTokens: number;
    };
    interrupted: {};
    error: {
        error: Error;
    };
    connected: {};
    disconnected: {};
};
```

Related: [`VisionToolCall`](/api-reference/core/vision#visiontoolcall).

## VisionProvider

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/types.ts)

```typescript theme={null}
export interface VisionProvider {
    readonly providerId: string;
    readonly modelId: string;
    connect(config: VisionSessionConfig): Promise<VisionConnection>;
}
```

Related: [`VisionConnection`](/api-reference/core/vision#visionconnection), [`VisionSessionConfig`](/api-reference/core/vision#visionsessionconfig).

## VisionSession

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/types.ts)

```typescript theme={null}
export interface VisionSession {
    sendAudio(data: Buffer): void;
    sendImage(data: Buffer, mimeType?: string): void;
    sendText(text: string): void;
    interrupt(): void;
    close(): Promise<void>;
    on<K extends VisionSessionEvent>(event: K, handler: (data: VisionSessionEventMap[K]) => void): void;
    off<K extends VisionSessionEvent>(event: K, handler: (data: VisionSessionEventMap[K]) => void): void;
}
```

Related: [`VisionSessionEvent`](/api-reference/core/vision#visionsessionevent), [`VisionSessionEventMap`](/api-reference/core/vision#visionsessioneventmap).

## VisionSessionConfig

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/types.ts)

```typescript theme={null}
export interface VisionSessionConfig {
    instructions?: string;
    voice?: string;
    /** BCP-47 language code for speech I/O (e.g. "en-US", "hi-IN", "ja-JP"). */
    language?: string;
    tools?: ToolDefinition[];
    temperature?: number;
    /** Suggested video frame rate (frames per second). Default: 1. */
    fps?: number;
    /** Gemini 3.1+ thinking level. Default: "minimal" for lowest latency. */
    thinkingLevel?: ThinkingLevel;
    apiKey?: string;
}
```

Related: [`ThinkingLevel`](/api-reference/core/vision#thinkinglevel), [`ToolDefinition`](/api-reference/core/models#tooldefinition).

## VisionSessionEvent

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/types.ts)

```typescript theme={null}
export type VisionSessionEvent = keyof VisionSessionEventMap;
```

Related: [`VisionSessionEventMap`](/api-reference/core/vision#visionsessioneventmap).

## VisionSessionEventMap

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/types.ts)

```typescript theme={null}
export type VisionSessionEventMap = VisionEventMap & {
    tool_call_start: {
        name: string;
        args: unknown;
    };
    tool_result: {
        name: string;
        result: string;
    };
};
```

Related: [`VisionEventMap`](/api-reference/core/vision#visioneventmap).

## VisionToolCall

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/vision/types.ts)

```typescript theme={null}
export interface VisionToolCall {
    id: string;
    name: string;
    arguments: string;
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.