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

# API Reference (Custom API - Deprecated)

> Detailed API documentation for VEO video generation API - Legacy documentation

**⚠️ This documentation is for legacy custom API, not recommended**Please see new version: [Veo-3.1 Quick Start](/en/api-capabilities/veo/veo-31-quick-start)

## Submit Video Task

/veo/v1/api/video/submit

Submit video generation task

### Request Parameters

prompt

string

required

Text description for video generation

model

string

default:"veo3"

Model name. Available values:

* `veo3` - Standard version
* `veo3-fast` - Fast version
* `veo3-pro` - Professional version
* `veo3-pro-frames` - Pro version + frame control

images

array

Array of reference image URLs, maximum 5

enhance\_prompt

boolean

default:false

Whether to enhance prompt

### Request Examples

cURL

Python

JavaScript

```
curl -X POST "https://api.yelinai.com/veo/v1/api/video/submit" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-api-key" \
  -d '{
    "prompt": "A cat walking in the rainy night, preparing to catch a mouse",
    "model": "veo3",
    "images": ["https://example.com/cat.png"],
    "enhance_prompt": true
  }'
```

### Response Example

Success Response

```
{
  "success": true,
  "data": {
    "taskId": "veo3:b873872e-7358-4c2f-8d55-bd23f000e14e",
    "pollingUrl": "https://asyncdata.net/source/veo3:b873872e-7358-4c2f-8d55-bd23f000e14e",
    "status": "processing",
    "message": "Task submitted successfully"
  }
}
```

## Query Task Status

/veo/v1/api/video/status/{taskId}

Query video generation status

### Path Parameters

taskId

string

required

Task ID (returned from submit interface)

### Request Examples

cURL

Python

JavaScript

```
curl -X GET "https://api.yelinai.com/veo/v1/api/video/status/veo3:b873872e-7358-4c2f-8d55-bd23f000e14e" \
  -H "Authorization: Bearer your-api-key"
```

### Response Status

* Task Submitted
* Image Downloading
* Video Generating
* Generation Completed

```
{
  "success": true,
  "data": {
    "taskId": "veo3:b873872e-7358-4c2f-8d55-bd23f000e14e",
    "pollingUrl": "https://asyncdata.net/source/veo3:b873872e-7358-4c2f-8d55-bd23f000e14e",
    "status": "processing",
    "message": "Task submitted successfully"
  }
}
```

```
{
  "success": true,
  "data": {
    "taskId": "veo3:b873872e-7358-4c2f-8d55-bd23f000e14e",
    "pollingUrl": "https://asyncdata.net/source/veo3:b873872e-7358-4c2f-8d55-bd23f000e14e",
    "upstreamData": {
      "created_at": 1751704074528,
      "enhanced_prompt": "A cat is walking on a rainy night, preparing to catch a mouse",
      "id": "veo3:b873872e-7358-4c2f-8d55-bd23f000e14e",
      "images": [
        {
          "status": "downloading",
          "url": "https://tokensceshi.oss-ap-southeast-1.aliyuncs.com/sora/81ecb724-9e01-4f0e-a2ac-0c85802b8841.png"
        }
      ],
      "status": "image_downloading"
    },
    "status": "processing",
    "progress": {
      "upstreamStatus": "image_downloading",
      "retryCount": 0,
      "maxRetries": 3
    }
  }
}
```

```
{
  "success": true,
  "data": {
    "taskId": "veo3:b873872e-7358-4c2f-8d55-bd23f000e14e",
    "upstreamData": {
      "status": "video_generating",
      "video_generation_id": "f48aea86a9c27d4c8b15612b6c65d08e",
      "video_generation_status": "MEDIA_GENERATION_STATUS_ACTIVE"
    },
    "status": "processing"
  }
}
```

```
{
  "success": true,
  "data": {
    "taskId": "veo3:b873872e-7358-4c2f-8d55-bd23f000e14e",
    "status": "completed",
    "result": {
      "video_url": "https://filesystem.site/cdn/20250705/BFvep0SngrqIrN3yDSFChIXAz2mU0M.mp4",
      "video_media_id": "CAUSJGRlNzE5MzRhLTljMDgtNDE1Mi05NWVlLThjOTlhMTZlODUyYxokY2U4ZjNiYmUtNGFmZS00NTExLWI4ZDEtMGM1MTFkM2ZlNGIxIgNDQUUqJDJlNTY3OWUyLWQ2YmQtNGVlZS05ZTUwLWMyMWE0MWU3ZDYzNw"
    }
  }
}
```

### Status Description

| Status       | Description          | Next Action             |
| ------------ | -------------------- | ----------------------- |
| `processing` | Task processing      | Continue polling status |
| `completed`  | Generation completed | Get video URL           |
| `failed`     | Generation failed    | Check error message     |

## HTTP Status Codes

200

Success

Request successful

400

Client Error

Invalid request parameters, check parameter format and required fields

401

Authentication Error

Authentication failed, check if API key is correct

500

Server Error

Internal server error, please retry later or contact support

## Error Response Format

```
{
  "success": false,
  "message": "Error description",
  "error_code": "ERROR_CODE",
  "details": {
    "field": "Specific error field",
    "reason": "Error reason"
  }
}
```

## Common Error Codes

| Error Code       | Description          | Solution                        |
| ---------------- | -------------------- | ------------------------------- |
| `INVALID_PROMPT` | Invalid prompt       | Check prompt length and content |
| `INVALID_MODEL`  | Model does not exist | Use supported model names       |
| `QUOTA_EXCEEDED` | Quota exceeded       | Contact to increase quota       |
| `TASK_NOT_FOUND` | Task does not exist  | Check task ID                   |
