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

# vidu-q2-pro-flfv

> API usage guide for vidu-q2-pro-flfv.

{/* source_model_id: vidu-q2-pro-flfv */}

{/* source_updated_at: 1782167933 */}

**Model ID**

```bash theme={null}
vidu-q2-pro-flfv
```

**Calling method:** async

# Vidu Q2 Pro First-Last-Frame-to-Video API Usage Guide

## Overview

**Vidu Q2 Pro** is a first-last-frame-to-video model designed to generate 720p video content transitioning between a specified starting and ending frame, guided by a descriptive text prompt. It supports custom durations up to 8 seconds. This model is hosted externally by Vidu and accessible via the GMI Cloud request queue.

## Authentication

All API requests require authentication using your API key. Include it in the Authorization header:

```bash theme={null}
Authorization: Bearer YOUR_API_KEY
```

## Submit Video Generation Request

### Base URL

```
https://console.gmicloud.ai
```

### Endpoint

```
POST /api/v1/ie/requestqueue/apikey/requests
```

### Request Format

```bash theme={null}
curl -X POST "https://console.gmicloud.ai/api/v1/ie/requestqueue/apikey/requests" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "vidu-q2-pro-flfv",
    "payload": {
      "prompt": "A smooth transition from a blooming flower to a withered state",
      "first_frame_image": "https://example.com/start_frame.jpg",
      "last_frame_image": "https://example.com/end_frame.jpg",
      "duration": 5,
      "seed": 42
    }
  }'
```

### Request Parameters

| Parameter           | Type    | Required | Description                                                     | Default | Constraints    |
| ------------------- | ------- | -------- | --------------------------------------------------------------- | ------- | -------------- |
| `first_frame_image` | string  | Yes      | Image URL to be the first frame of the generated video.         | -       | 1 image        |
| `last_frame_image`  | string  | Yes      | Image URL to be the last frame of the video.                    | -       | 1 image        |
| `prompt`            | string  | Yes      | Text prompt (max 2000 characters) describing the desired video. | -       | Max 2000 chars |
| `duration`          | integer | No       | Video duration in seconds.                                      | 5       | Min: 1, Max: 8 |
| `seed`              | integer | No       | Random seed. If not set, a random seed is used.                 | null    | -              |

### Response

```json theme={null}
{
  "request_id": "8fbb88gd-cd78-5132-0g2c-07c4ge944225",
  "model": "vidu-q2-pro-flfv",
  "status": "queued",
  "created_at": 1772184500
}
```

## Check Request Status

### Endpoint

```
GET /api/v1/ie/requestqueue/apikey/requests/{request_id}
```

### Response

```json theme={null}
{
  "request_id": "8fbb88gd-cd78-5132-0g2c-07c4ge944225",
  "model": "vidu-q2-pro-flfv",
  "status": "success",
  "outcome": {
    "media_urls": [
      {
        "id": "0",
        "url": "https://storage.googleapis.com/gmi-generated-assets/.../vidu_output_0.mp4"
      }
    ]
  }
}
```

## Request Status Values

| Status       | Description                                |
| ------------ | ------------------------------------------ |
| `queued`     | Request is waiting in the queue            |
| `processing` | Video is currently being rendered          |
| `success`    | Video generation completed                 |
| `failed`     | Generation failed (check logs for details) |
| `cancelled`  | Request was manually cancelled             |

## Pricing

* **Pricing Type**: Base fee + per second
* **Price**: $0.075 baseline + $0.05 per second of video
* **Unit**: Video

## Tips for Better Results

1. **Provide Clear Frames**: Ensure the first and last frame images have consistent subjects and lighting for smoother transitions.
2. **Logical Prompts**: Describe how the transition between the two states should occur.
3. **Mind the Limits**: The maximum duration for this model is 8 seconds.
