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

# Camel.toolkits.vertex ai veo toolkit

<a id="camel.toolkits.vertex_ai_veo_toolkit" />

<a id="camel.toolkits.vertex_ai_veo_toolkit.VertexAIVeoToolkit" />

## VertexAIVeoToolkit

```python theme={"system"}
class VertexAIVeoToolkit(BaseToolkit):
```

A toolkit for interacting with Google Vertex AI Veo video generation.

This toolkit provides methods for generating videos using Google's Veo,
supporting both text-to-video and image-to-video generation with various
customization options.

<a id="camel.toolkits.vertex_ai_veo_toolkit.VertexAIVeoToolkit.__init__" />

### **init**

```python theme={"system"}
def __init__(
    self,
    project_id: Optional[str] = None,
    location: str = 'us-central1',
    model_id: str = 'veo-2.0-generate-001',
    output_storage_uri: Optional[str] = None,
    timeout: Optional[float] = None
):
```

Initialize the Vertex AI Veo toolkit.

**Parameters:**

* **project\_id** (Optional\[str]): Google Cloud project ID. If not provided, will use the default project from environment. (default: :obj:`None`)
* **location** (str): Google Cloud location for the API calls. (default: :obj:`"us-central1"`)
* **model\_id** (str): The Veo model ID to use. Options include "veo-2.0-generate-001" or "veo-3.0-generate-preview". (default: :obj:`"veo-2.0-generate-001"`)
* **output\_storage\_uri** (Optional\[str]): Cloud Storage URI to save output videos. If not provided, returns video bytes. (default: :obj:`None`)
* **timeout** (Optional\[float]): Request timeout in seconds. (default: :obj:`None`)

<a id="camel.toolkits.vertex_ai_veo_toolkit.VertexAIVeoToolkit.generate_video_from_text" />

### generate\_video\_from\_text

```python theme={"system"}
def generate_video_from_text(
    self,
    text_prompt: str,
    response_count: int = 1,
    duration: int = 5,
    aspect_ratio: str = '16:9',
    negative_prompt: Optional[str] = None,
    person_generation: str = 'allow_adult'
):
```

Generate video from text prompt using Vertex AI Veo.

**Parameters:**

* **text\_prompt** (str): The text prompt to guide video generation.
* **response\_count** (int): Number of videos to generate (1-4). (default: :obj:`1`)
* **duration** (int): Video duration in seconds (5-8). (default: :obj:`5`)
* **aspect\_ratio** (str): Video aspect ratio. Options: "16:9", "9:16". (default: :obj:`"16:9"`)
* **negative\_prompt** (Optional\[str]): What to avoid in the video. (default: :obj:`None`)
* **person\_generation** (str): Person safety setting. Options: "allow\_adult", "dont\_allow". (default: :obj:`"allow_adult"`)

**Returns:**

Dict\[str, Any]:
A dictionary containing:

* 'success' (bool): Whether the operation was successful
* 'videos' (List\[Dict]): List of generated video data
* 'metadata' (Dict): Additional metadata from the response
* 'error' (str): Error message if operation failed

<a id="camel.toolkits.vertex_ai_veo_toolkit.VertexAIVeoToolkit.generate_video_from_image" />

### generate\_video\_from\_image

```python theme={"system"}
def generate_video_from_image(
    self,
    image_path: str,
    text_prompt: str,
    response_count: int = 1,
    duration: int = 5,
    aspect_ratio: str = '16:9',
    negative_prompt: Optional[str] = None,
    person_generation: str = 'allow_adult'
):
```

Generate video from image and text prompt using Vertex AI Veo.

**Parameters:**

* **image\_path** (str): Path to the input image file (local or GCS URI).
* **text\_prompt** (str): The text prompt to guide video generation.
* **response\_count** (int): Number of videos to generate (1-4). (default: :obj:`1`)
* **duration** (int): Video duration in seconds (5-8). (default: :obj:`5`)
* **aspect\_ratio** (str): Video aspect ratio. Options: "16:9", "9:16". (default: :obj:`"16:9"`)
* **negative\_prompt** (Optional\[str]): What to avoid in the video. (default: :obj:`None`)
* **person\_generation** (str): Person safety setting. (default: :obj:`"allow_adult"`)

**Returns:**

Dict\[str, Any]:
A dictionary containing:

* 'success' (bool): Whether the operation was successful
* 'videos' (List\[Dict]): List of generated video data
* 'metadata' (Dict): Additional metadata from the response
* 'error' (str): Error message if operation failed

<a id="camel.toolkits.vertex_ai_veo_toolkit.VertexAIVeoToolkit.extend_video" />

### extend\_video

```python theme={"system"}
def extend_video(
    self,
    video_uri: str,
    text_prompt: str,
    duration: int = 5,
    aspect_ratio: str = '16:9',
    negative_prompt: Optional[str] = None
):
```

Extend an existing video using Vertex AI Veo.

**Parameters:**

* **video\_uri** (str): Cloud Storage URI of the video to extend.
* **text\_prompt** (str): The text prompt to guide video extension.
* **duration** (int): Duration to extend in seconds (5-8). (default: :obj:`5`)
* **aspect\_ratio** (str): Video aspect ratio. (default: :obj:`"16:9"`)
* **negative\_prompt** (Optional\[str]): What to avoid in the extension. (default: :obj:`None`)

**Returns:**

Dict\[str, Any]:
A dictionary containing:

* 'success' (bool): Whether the operation was successful
* 'videos' (List\[Dict]): List of extended video data
* 'metadata' (Dict): Additional metadata from the response
* 'error' (str): Error message if operation failed

<a id="camel.toolkits.vertex_ai_veo_toolkit.VertexAIVeoToolkit._process_image" />

### \_process\_image

```python theme={"system"}
def _process_image(self, image_path: str):
```

Process image file and return base64 encoded data and MIME type.

<a id="camel.toolkits.vertex_ai_veo_toolkit.VertexAIVeoToolkit._parse_video_response" />

### \_parse\_video\_response

```python theme={"system"}
def _parse_video_response(self, response: Any):
```

Parse the video generation response.

<a id="camel.toolkits.vertex_ai_veo_toolkit.VertexAIVeoToolkit.get_tools" />

### get\_tools

```python theme={"system"}
def get_tools(self):
```

**Returns:**

List\[FunctionTool]: List of available function tools.

<a id="camel.toolkits.vertex_ai_veo_toolkit.VertexAIVeoToolkit.get_async_tools" />

### get\_async\_tools

```python theme={"system"}
def get_async_tools(self):
```

**Returns:**

List\[FunctionTool]: List of available async function tools.
