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

# VariableValue

# VariableValue

Discriminated union representing the value supplied for a [PromptVariable](/docs/reference/sdk/v2/python/types/PromptVariable). The `modality` field on the inner instance determines the concrete type.

## Import

```python theme={null}
from adaline_api.models.variable_value import VariableValue
```

## Variants

| `modality` | Type            | Description              |
| ---------- | --------------- | ------------------------ |
| `"text"`   | `TextContent`   | Plain text value         |
| `"image"`  | `ImageContent`  | Image (URL or base64)    |
| `"pdf"`    | `PdfContent`    | PDF document             |
| `"api"`    | `ApiContent`    | External API data source |
| `"prompt"` | `PromptContent` | Nested prompt reference  |

***

## Example

```python theme={null}
from adaline_api.models.variable_value import VariableValue
from adaline_api.models.text_content import TextContent
from adaline_api.models.image_content import ImageContent
from adaline_api.models.url_image_content_value import UrlImageContentValue

text_var = VariableValue(
    actual_instance=TextContent(modality="text", value="John Doe")
)

image_var = VariableValue(
    actual_instance=ImageContent(
        modality="image",
        detail="auto",
        value=UrlImageContentValue(type="url", url="https://example.com/logo.png")
    )
)
```

### Type narrowing

```python theme={null}
from adaline_api.models.text_content import TextContent
from adaline_api.models.image_content import ImageContent
from adaline_api.models.pdf_content import PdfContent

def process_variable(v: VariableValue) -> None:
    inst = v.actual_instance
    if isinstance(inst, TextContent):
        print(f"Text: {inst.value}")
    elif isinstance(inst, ImageContent):
        print(f"Image: {inst.value.type}")
    elif isinstance(inst, PdfContent):
        print(f"PDF: {inst.file.name}")
```

***

## Related

* [PromptVariable](/docs/reference/sdk/v2/python/types/PromptVariable) — variable definition that this value satisfies
* [TextContent](/docs/reference/sdk/v2/python/types/TextContent) — text variant
* [ImageContent](/docs/reference/sdk/v2/python/types/ImageContent) — image variant
* [PdfContent](/docs/reference/sdk/v2/python/types/PdfContent) — PDF variant
