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

# Vision Link: Photo Understanding and Visual Intelligence

## Overview

The Chat Model 2 introduces Vision Link, an advanced vision capability enabling Personas to recognize themselves in photos, identify Users, and comprehend pictures shared during conversations. This feature enhances answer quality, strengthens realism and credibility.

## Availability

These capabilities are available from Chat Model 2.0 and above. See [Model Versions](/getting-started/model-versions).

## How It Works

### Preparing Photo Usage

For Chat Model 2 to understand photos, DumGum must first analyze available images using the `replyParameters.vision` parameter.

Three image types can be analyzed:

* `userProfilePictureAnalysis` – analyzes the User's main profile photo
* `personaProfilePictureAnalysis` – analyzes the Persona's main profile photo
* `sharedPicturesAnalysis` – analyzes photos shared by the User during the conversation

See parameter [API reference](/api-reference/content-creation/endpoints/enqueue-conversation#body-reply-parameters-one-of-0-vision-user-profile-picture-analysis).

We strongly recommend enabling all three capabilities for maximum benefit.

### Profile Photo Analysis Benefits

When profile photos are analyzed, the system examines content and physical characteristics, memorizing facial features. This allows the AI to determine whether a shared photo depicts the User, the Persona, or someone else. The result is a substantially more realistic and consistent experience.

**Important:** Vision uses only the **main profile picture** for both the User and the Persona. The Persona has no visibility into public photo albums. It does not know whether a public album exists, nor what images it may contain, for either the User or the Persona. Improvements to photo album awareness are planned for a future release.

### Shared Photo Analysis

When Vision is enabled, the Persona can fully understand and comment on any picture shared directly in the chat, not just profile photos.

The model analyzes photos Users share and reacts realistically to their content. If problematic content is detected, an event of type `chat.image.rejected` is sent to your incoming webhook, with possible moderation reasons including `VIOLENT_CONTENT`, `SELF_HARM`, and `ILLEGAL_CONTENT`. When a flagged image is detected, the Persona responds that it cannot see the image.

## Pricing

**Base cost:** €0.015 per analyzed photo

Each photo URL is analyzed **only once**, regardless of how many times it appears in conversations. The system respects HTTP `Cache-Control` headers. When a cached image expires, its SHA-256 fingerprint is compared against the stored version. If the image has not changed, no new analysis is triggered and no additional cost is incurred. This means that profile photos and frequently reused images cost very little over time, as the analysis cost is a one-time expense per unique image.

## Technical Implementation

### Step 1: Use a V2 Model

Specify a Chat Model 2.0 or above model via the `replyParameters.chatModel` parameter, for example `chat-2.1-pro`.

### Step 2: Enable Vision

You must enable vision support through the `replyParameters.vision` parameter as follows:

```json theme={null}
{
  "userProfileId": "xxxx",
  "personaProfileId": "yyyy",
  "replyParameters": {
    "chatModel": "chat-2.1-pro",
    "vision": {
      "userProfilePictureAnalysis": true,
      "personaProfilePictureAnalysis": true,
      "sharedPicturesAnalysis": true
    }
  }
}
```

### Step 3: Update Chat History

In the Chat History API endpoint that you integrate on your side, you must return a new message attribute, `pictureUrls`, which should contain the URLs of all images associated with the message. The model will automatically analyze the image (provided the `sharedPictures` option in the `vision` settings is set to `true`) and will be able to respond accordingly. Note that a message may contain both images (`pictureUrls`) and text (`text` attribute), or simply one or multiple images.
