# Query User Balance Source: https://docs.vidgo.ai/api-manual/account-management/user-balance api-manual/account-management/user-balance.json GET /api/user/balance Query the credit balance of your user account Query the current credit balance of your user account in real-time. ## Use Cases > [card] Dashboard Display > > Show real-time account balance in your application dashboard > [card] Balance Alerts > > Set up notifications when credits fall below a threshold > [card] Recharge Reminders > > Prompt users to top up credits before running out > [card] Usage Tracking > > Monitor credit consumption and track spending patterns ## Important Notes > [!NOTE] > > **Real-time Balance**: The balance returned reflects your current credit amount at the time of the request. > [!TIP] > > **Rate Limiting**: Avoid excessive polling. Cache the balance and refresh only when necessary (e.g., after completing a generation task). > [!WARNING] > > **Credit Deduction**: Credits are deducted only when generation tasks complete successfully. Failed tasks do not consume credits. # Error Codes Source: https://docs.vidgo.ai/api-manual/error-codes API error codes and response formats This page describes common response formats for generation and native Chat Series endpoints. Use the HTTP status and the endpoint-specific error body. ## Response Format ### Success Response Generation submission returns a response with `code: 200`. Native Chat Series responses use their protocol-specific format: ```json theme={null} { "code": 200, "data": { "task_id": "task-unified-1757165031-uyujaw3d", "status": "running", "created_time": "2025-11-12T10:30:00" } } ``` ### Error Response Generation endpoints return the HTTP error status with a detail field. They do not wrap errors in code and error: ```json theme={null} { "detail": "task_id is required" } ``` ### Native Chat Series Errors Chat Completions and Responses use an error object; Claude Messages adds type=error; Gemini uses error.code, error.message, and error.status. Authentication failures may still use detail. Upstream error status codes and bodies are forwarded unchanged. Successful JSON responses and SSE events are not wrapped in code and data. ### Task Failed Response When a task fails during processing, the response includes `status: "failed"` with an error message: ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "failed", "files": [], "created_time": "2025-11-25T08:50:13", "error_message": "The prompt violates our content policy" } } ``` ## HTTP Status Codes ### 200 - Success Request completed successfully. For generation endpoints, check `data.status` to determine task state. Native Chat Series returns its JSON response or SSE stream directly. ### 400 - Bad Request The request contains invalid parameters or data. **Example:** ```json theme={null} { "detail": "task_id is required" } ``` ### 401 - Unauthorized Missing or invalid credentials. Authentication errors use a detail field. ### 402 - Payment Required Native Chat Series endpoints use HTTP 402 for insufficient credits. Generation submission uses HTTP 400 for insufficient credits. **Example:** ```json theme={null} { "error": {"message": "Insufficient credits", "type": "invalid_request_error", "code": null} } ``` ### 403 - Forbidden Access denied due to permission restrictions. **Example:** ```json theme={null} { "detail": "You do not have permission to access this resource" } ``` ### 404 - Not Found The requested resource does not exist. **Example:** ```json theme={null} { "detail": "Task not found" } ``` ### 408 - Request Timeout The request timed out before a response was returned. The timeout middleware returns plain text: **Example:** ```text theme={null} Request timeout ``` ### 422 - Unprocessable Entity Malformed JSON or a request body that is not an object may be rejected before endpoint handling. The detail field is an array of validation errors. ### 429 - Too Many Requests Rate limit exceeded. **Example:** ```json theme={null} { "detail": "Rate limit exceeded. Please try again later." } ``` ### 500 - Internal Server Error An unexpected server error occurred. **Example:** ```json theme={null} { "detail": "An internal error occurred. Please try again later." } ``` ### 502 - Bad Gateway Upstream service error. **Example:** ```json theme={null} { "detail": "Upstream service unavailable" } ``` ### 503 - Service Unavailable The requested model is temporarily unavailable. Contact support to check model availability before retrying. An unknown or disabled public model normally returns HTTP 404. ## Error Handling Best Practices > [!TIP] > > **Retry transient failures carefully**: For temporary 500 or 502 errors, use exponential backoff. Retrying submission can create another task. For HTTP 503, contact support to check model availability before retrying. > [!TIP] > > **Handle rate limits**: When receiving 429 errors, wait before retrying. Consider implementing request queuing. > [!TIP] > > **Validate inputs**: Check your request parameters before sending to avoid 400 errors. > [!TIP] > > **Monitor credits**: Generation submission reports insufficient credits as HTTP 400; native Chat Series reports HTTP 402. # Upload File from Base64 Source: https://docs.vidgo.ai/api-manual/file-series/upload-base64 api-manual/file-series/upload-base64.json POST /api/common/upload/base64 Upload files to Vidgo API using Base64-encoded data or Data URL format ## Usage Guide * This endpoint accepts Base64-encoded file data for upload to Vidgo API storage * Supports both Data URL format (with MIME type prefix) and pure Base64 strings * Ideal for uploading files that are already Base64-encoded in your application, such as canvas drawings or client-side image manipulations * Files are immediately accessible via the returned URL and remain available for 72 hours ## Parameter Details * **Base64 Data Format**: * **Data URL format**: `data:image/png;base64,iVBORw0KGgo...` (recommended) * **Pure Base64 string**: `iVBORw0KGgo...` (without MIME type prefix) * The Base64 string must not contain any whitespace, newline characters, or formatting * Supported file formats: **JPEG, PNG, GIF, WebP** only * Maximum upload limit: **1 image per request** * **Storage Configuration**: * All files are automatically stored with a `temp/` prefix in the storage path * If you specify `upload_path: "profile-images"`, the actual path will be `temp/profile-images` * Files will expire and be automatically deleted **72 hours** after upload * **File Naming**: * If `file_name` is not provided, the system generates a unique name in the format: `{timestamp}_{random}_{extension}` * Example auto-generated name: `20251229130857_a8B9cD2e.png` ## Usage Notes * When to use Base64 upload: * Client-side generated images (canvas, screenshots) * Images already encoded in Base64 format in your application * Small to medium-sized images where encoding overhead is acceptable * When NOT to use Base64 upload: * Large image files (Base64 encoding increases size by \~33%) * Files stored on disk (use stream upload instead) * Files available via URL (use URL upload instead) * Ensure your Base64 data is properly formatted without any line breaks or spaces * For persistent storage needs, download and save the file locally before the 72-hour expiration ## Rate Limits and Quotas * **Rate Limit**: 5 requests per minute per API key * When the rate limit is exceeded, you will receive a `429 Too Many Requests` error * Implement exponential backoff retry logic for handling rate limit errors ## Common Error Scenarios * **Invalid Base64 Encoding**: The provided Base64 string cannot be decoded * **Invalid Data URL Format**: The Data URL format is malformed (e.g., missing `data:` prefix or `;base64,` separator) * **Unsupported File Type**: The decoded file is not in a supported image format (JPEG, PNG, GIF, WebP) * **Invalid File Data**: The decoded data is empty or corrupted * **Authentication Error**: Missing or invalid API key in the Authorization header # Upload File Stream Source: https://docs.vidgo.ai/api-manual/file-series/upload-stream api-manual/file-series/upload-stream.json POST /api/common/upload/stream Upload files to Vidgo API using multipart/form-data format for direct file uploads ## Usage Guide * This endpoint enables direct file uploads using the standard `multipart/form-data` format * Supports uploading files directly from local storage with automatic file type identification * Best suited for local file uploads from desktop applications, mobile apps, or web forms * Files are immediately accessible via the returned URL and remain available for 72 hours ## Parameter Details * **File Upload Requirement**: * The `file` field must contain binary file data * Supported file formats: **JPEG, PNG, GIF, WebP** only * Maximum upload limit: **1 image per request** * The system automatically identifies the file type from the binary data * **Parameter Naming Convention**: * This endpoint supports both **snake\_case** and **camelCase** naming conventions * `upload_path` or `uploadPath` - both are accepted * `file_name` or `fileName` - both are accepted * Use whichever convention matches your application's coding style * **Storage Configuration**: * All files are automatically stored with a `temp/` prefix in the storage path * If you specify `upload_path: "photos"`, the actual path will be `temp/photos` * Files will expire and be automatically deleted **72 hours** after upload * **File Naming**: * If `file_name` is not provided, the system generates a unique name in the format: `{timestamp}_{random}_{extension}` * Example auto-generated name: `20251229130857_a8B9cD2e.png` ## Usage Notes * When to use file stream upload: * Direct file uploads from user's local storage * Form-based file uploads from web applications * Mobile app file uploads * Server-to-server file transfers * This is the most efficient upload method for files already stored on disk * The multipart/form-data format is standard across all programming languages and HTTP clients * For persistent storage needs, download and save the file locally before the 72-hour expiration ## Rate Limits and Quotas * **Rate Limit**: 5 requests per minute per API key * When the rate limit is exceeded, you will receive a `429 Too Many Requests` error * Implement exponential backoff retry logic for handling rate limit errors ## Common Error Scenarios * **Missing File**: No file was provided in the request body (422 error) * **Unsupported File Type**: The uploaded file is not in a supported image format (JPEG, PNG, GIF, WebP) * **Empty File**: The uploaded file has zero bytes or is corrupted * **Authentication Error**: Missing or invalid API key in the Authorization header ## Example Usage ### cURL Example ```bash theme={null} curl -X POST "https://api.vidgo.ai/api/common/upload/stream" \ -H "Authorization: Bearer VIDGO_API_KEY" \ -F "file=@/path/to/image.png" \ -F "file_name=my-image.png" ``` ### Python Example ```python theme={null} import requests url = "https://api.vidgo.ai/api/common/upload/stream" headers = {"Authorization": "Bearer VIDGO_API_KEY"} files = {"file": open("/path/to/image.png", "rb")} data = {"file_name": "my-image.png"} response = requests.post(url, headers=headers, files=files, data=data) print(response.json()) ``` ### JavaScript Example (Node.js) ```javascript theme={null} const FormData = require('form-data'); const fs = require('fs'); const axios = require('axios'); const form = new FormData(); form.append('file', fs.createReadStream('/path/to/image.png')); form.append('file_name', 'my-image.png'); axios.post('https://api.vidgo.ai/api/common/upload/stream', form, { headers: { 'Authorization': 'Bearer VIDGO_API_KEY', ...form.getHeaders() } }) .then(response => console.log(response.data)) .catch(error => console.error(error)); ``` # Upload File from URL Source: https://docs.vidgo.ai/api-manual/file-series/upload-url api-manual/file-series/upload-url.json POST /api/common/upload/url Upload files to Vidgo API by providing a remote URL ## Usage Guide * This endpoint enables uploading files to Vidgo API by providing a remote URL * The system automatically downloads the file from the specified URL and stores it in Vidgo API storage * Ideal for migrating files from external servers or integrating with third-party file sources * Files are returned with a direct access URL and remain available for 72 hours ## Parameter Details * **File URL Requirement**: * The `file_url` must be a publicly accessible URL using HTTP or HTTPS protocol * The remote server must allow the file to be downloaded without authentication * Supported file formats: **JPEG, PNG, GIF, WebP** only * Maximum upload limit: **1 image per request** * **Storage Configuration**: * All files are automatically stored with a `temp/` prefix in the storage path * If you specify `upload_path: "avatars"`, the actual path will be `temp/avatars` * Files will expire and be automatically deleted **72 hours** after upload * **File Naming**: * If `file_name` is not provided, the system generates a unique name in the format: `{timestamp}_{random}_{extension}` * Example auto-generated name: `20251229130857_a8B9cD2e.png` ## Usage Notes * Ensure your source URL is publicly accessible and does not require authentication or special headers * The download process may take a few seconds depending on the file size and network conditions * For persistent storage needs, download and save the file locally before the 72-hour expiration * The `file_url` and `download_url` in the response are identical and both provide direct access to the uploaded file ## Rate Limits and Quotas * **Rate Limit**: 5 requests per minute per API key * When the rate limit is exceeded, you will receive a `429 Too Many Requests` error * Implement exponential backoff retry logic for handling rate limit errors ## Common Error Scenarios * **Invalid URL**: The provided URL is malformed or unreachable * **Download Failure**: Network timeout or connection issues when downloading from the remote URL * **Unsupported File Type**: The file at the URL is not in a supported image format (JPEG, PNG, GIF, WebP) * **Authentication Error**: Missing or invalid API key in the Authorization header # Wan 2.7 Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/alibaba-wan-2-7-image-edit api-manual/image-series/alibaba-wan-2-7-image-edit.json POST /api/generate/submit Rework images with text instructions and up to four visual references, exploring new compositions and variations with Wan 2.7. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Rework images with text instructions and up to four visual references, exploring new compositions and variations with Wan 2.7. ## Models * **alibaba/wan-2.7/image-edit** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts 1-4 images in `image_urls`. * Control the number of output images with `n`. ## Output Options ### Image Size * `size`: Optional. Default: `1024x1024`. * Presets: `512x512`, `1024x1024`, `768x1024`, `1024x768`, `576x1024`, `1024x576`. * For custom dimensions, supply an object with integer `width` and `height`; both must be positive. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `4`. Default: `1`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **1-5,000 characters**. * The value must not be blank when supplied. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-4 items. Each item must be an HTTP(S) URL. Order matters: refer to them as image 1, image 2, image 3, image 4 in the prompt. A single string or Base64 image is not accepted. ### Seed * `seed`: Optional. Set the generation seed. Integer. ## Billing Factors Billing depends on the selected model variant and output image count (`n`). Output size does not add a charge. Reference images do not add a surcharge. Credits are deducted on submission and refunded if the task fails. # Wan 2.7 Pro Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/alibaba-wan-2-7-image-edit-pro api-manual/image-series/alibaba-wan-2-7-image-edit-pro.json POST /api/generate/submit Guide Wan 2.7 Pro edits with text and multiple reference images to develop new looks for existing visual concepts. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Guide Wan 2.7 Pro edits with text and multiple reference images to develop new looks for existing visual concepts. ## Models * **alibaba/wan-2.7/image-edit-pro** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts 1-4 images in `image_urls`. * Control the number of output images with `n`. ## Output Options ### Image Size * `size`: Optional. Default: `1024x1024`. * Presets: `512x512`, `1024x1024`, `768x1024`, `1024x768`, `576x1024`, `1024x576`. * For custom dimensions, supply an object with integer `width` and `height`; both must be positive. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `4`. Default: `1`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **1-5,000 characters**. * The value must not be blank when supplied. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-4 items. Each item must be an HTTP(S) URL. Order matters: refer to them as image 1, image 2, image 3, image 4 in the prompt. A single string or Base64 image is not accepted. ### Seed * `seed`: Optional. Set the generation seed. Integer. ## Billing Factors Billing depends on the selected model variant and output image count (`n`). Output size does not add a charge. Reference images do not add a surcharge. Credits are deducted on submission and refunded if the task fails. # Wan 2.7 Image Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/alibaba-wan-2-7-text-to-image api-manual/image-series/alibaba-wan-2-7-text-to-image.json POST /api/generate/submit Turn scene and design ideas into images with Wan 2.7, with custom canvas sizes and up to four variations per prompt. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Turn scene and design ideas into images with Wan 2.7, with custom canvas sizes and up to four variations per prompt. ## Models * **alibaba/wan-2.7/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. * Control the number of output images with `n`. Use the corresponding image-edit endpoint for reference images. ## Output Options ### Image Size * `size`: Optional. Default: `1024x1024`. * Presets: `512x512`, `1024x1024`, `768x1024`, `1024x768`, `576x1024`, `1024x576`. * For custom dimensions, supply an object with integer `width` and `height`; both must be positive. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `4`. Default: `1`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the desired image. Length: **1-5,000 characters**. * The value must not be blank when supplied. ### Seed * `seed`: Optional. Set the generation seed. Integer. ## Billing Factors Billing depends on the selected model variant and output image count (`n`). Output size does not add a charge. Credits are deducted on submission and refunded if the task fails. # Wan 2.7 Pro Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/alibaba-wan-2-7-text-to-image-pro api-manual/image-series/alibaba-wan-2-7-text-to-image-pro.json POST /api/generate/submit Create image variations with Wan 2.7 Pro, using detailed prompts to guide the subject, style, and composition. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create image variations with Wan 2.7 Pro, using detailed prompts to guide the subject, style, and composition. ## Models * **alibaba/wan-2.7/text-to-image-pro** - Generate images from text prompts. ## Features * Generate images from text prompts. * Control the number of output images with `n`. Use the corresponding image-edit endpoint for reference images. ## Output Options ### Image Size * `size`: Optional. Default: `1024x1024`. * Presets: `512x512`, `1024x1024`, `768x1024`, `1024x768`, `576x1024`, `1024x576`. * For custom dimensions, supply an object with integer `width` and `height`; both must be positive. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `4`. Default: `1`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the desired image. Length: **1-5,000 characters**. * The value must not be blank when supplied. ### Seed * `seed`: Optional. Set the generation seed. Integer. ## Billing Factors Billing depends on the selected model variant and output image count (`n`). Output size does not add a charge. Credits are deducted on submission and refunded if the task fails. # Z-Image Turbo Source: https://docs.vidgo.ai/api-manual/image-series/alibaba-z-image-turbo api-manual/image-series/alibaba-z-image-turbo.json POST /api/generate/submit Text-to-image generation and single-image editing with Z-Image Turbo > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Models `alibaba/z-image/turbo` generates images from text and edits a single reference image. ## Input parameters * `prompt`: Required string containing 1 to 1000 characters. Describe the image to generate or the edits to apply. * `image_urls`: Optional array containing exactly one HTTP(S) image URL. Providing this field selects image editing. * `size`: Required for text-to-image and optional for image editing. Values: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`. * `enable_safety_checker`: Optional boolean. Defaults to `true`. ## Text to image ```json theme={null} { "model": "alibaba/z-image/turbo", "input": { "prompt": "A ceramic vase on a wooden table in soft daylight.", "size": "1:1", "enable_safety_checker": true } } ``` ## Image editing ```json theme={null} { "model": "alibaba/z-image/turbo", "input": { "prompt": "Add soft studio lighting to this product photo.", "image_urls": ["https://example.com/reference.png"], "enable_safety_checker": true } } ``` # FLUX.2 Flex Edit Source: https://docs.vidgo.ai/api-manual/image-series/blackforestlabs-flux-2-flex-edit api-manual/image-series/blackforestlabs-flux-2-flex-edit.json POST /api/generate/submit Use FLUX.2 Flex to rework images or combine references, guiding the subject, style, and composition through text. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Use FLUX.2 Flex to rework images or combine references, guiding the subject, style, and composition through text. ## Models * **blackforestlabs/flux-2-flex/edit** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts 1-8 images in `image_urls`. * Choose from `1K`, `2K` output resolutions. ## Output Options ### Image Size * `size`: Required. Accepted values: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `3:2`, `2:3`, `auto`. `auto` uses the aspect ratio of the first image in `image_urls`. ### Resolution * `resolution`: Required. Accepted values: `1K`, `2K`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send the input fields listed on this page. Each input URL is a public HTTP(S) URL. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **3-5,000 characters**. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-8 items. Each item must be an HTTP(S) URL. ## Verified Example This example was generated through the Vidgo API and is also the default example in the playground. Source and result images are hosted on the Vidgo CDN. ![Reference image 1](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-flex/edit/v1/01/input-01.png) ![Reference image 2](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-flex/edit/v1/01/input-02.png) ![Reference image 3](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-flex/edit/v1/01/input-03.png) ![Pip and the Glass Garden](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-flex/edit/v1/01/output.jpg) ```json theme={null} { "code": 200, "data": { "task_id": "E4MB5ERGH360DFJI", "status": "finished", "files": [ { "file_type": "image", "file_url": "https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-flex/edit/v1/01/output.jpg" } ], "created_time": "2026-09-26T11:07:59", "error_message": null, "progress": 100 } } ``` # FLUX.2 Flex Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/blackforestlabs-flux-2-flex-text-to-image api-manual/image-series/blackforestlabs-flux-2-flex-text-to-image.json POST /api/generate/submit Explore image concepts with FLUX.2 Flex, using descriptive prompts to shape composition and style in 1K or 2K output. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Explore image concepts with FLUX.2 Flex, using descriptive prompts to shape composition and style in 1K or 2K output. ## Models * **blackforestlabs/flux-2-flex/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. * Choose from `1K`, `2K` output resolutions. ## Output Options ### Image Size * `size`: Required. Accepted values: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `3:2`, `2:3`, `auto`. ### Resolution * `resolution`: Required. Accepted values: `1K`, `2K`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send the input fields listed on this page. ### Prompt * `prompt`: Required. Describe the desired image. Length: **3-5,000 characters**. ## Verified Example This example was generated through the Vidgo API and is also the default example in the playground. Source and result images are hosted on the Vidgo CDN. ![Tide Pool Field Notebook](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-flex/text-to-image/v1/02/output.jpg) ```json theme={null} { "code": 200, "data": { "task_id": "SBR3R4D3GOFPXM1Z", "status": "finished", "files": [ { "file_type": "image", "file_url": "https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-flex/text-to-image/v1/02/output.jpg" } ], "created_time": "2026-09-26T11:07:50", "error_message": null, "progress": 100 } } ``` # FLUX.2 Pro Edit Source: https://docs.vidgo.ai/api-manual/image-series/blackforestlabs-flux-2-pro-edit api-manual/image-series/blackforestlabs-flux-2-pro-edit.json POST /api/generate/submit Combine visual references with text instructions in FLUX.2 Pro to edit scenes, transfer styles, and retain recognizable subjects. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Combine visual references with text instructions in FLUX.2 Pro to edit scenes, transfer styles, and retain recognizable subjects. ## Models * **blackforestlabs/flux-2-pro/edit** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts 1-8 images in `image_urls`. * Choose from `1K`, `2K` output resolutions. ## Output Options ### Image Size * `size`: Required. Accepted values: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `3:2`, `2:3`, `auto`. `auto` uses the aspect ratio of the first image in `image_urls`. ### Resolution * `resolution`: Required. Accepted values: `1K`, `2K`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send the input fields listed on this page. Each input URL is a public HTTP(S) URL. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **3-5,000 characters**. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-8 items. Each item must be an HTTP(S) URL. ## Verified Example This example was generated through the Vidgo API and is also the default example in the playground. Source and result images are hosted on the Vidgo CDN. ![Reference image 1](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-pro/edit/v1/01/input-01.png) ![Reference image 2](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-pro/edit/v1/01/input-02.png) ![Reference image 3](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-pro/edit/v1/01/input-03.png) ![Dumpling Lesson](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-pro/edit/v1/01/output.jpg) ```json theme={null} { "code": 200, "data": { "task_id": "G4SI8DYZSIKS9UV5", "status": "finished", "files": [ { "file_type": "image", "file_url": "https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-pro/edit/v1/01/output.jpg" } ], "created_time": "2026-09-26T10:37:28", "error_message": null, "progress": 100 } } ``` # FLUX.2 Pro Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/blackforestlabs-flux-2-pro-text-to-image api-manual/image-series/blackforestlabs-flux-2-pro-text-to-image.json POST /api/generate/submit Create detailed images with FLUX.2 Pro, using natural language to direct subjects, composition, and visible text at up to 2K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create detailed images with FLUX.2 Pro, using natural language to direct subjects, composition, and visible text at up to 2K. ## Models * **blackforestlabs/flux-2-pro/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. * Choose from `1K`, `2K` output resolutions. ## Output Options ### Image Size * `size`: Required. Accepted values: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `3:2`, `2:3`, `auto`. ### Resolution * `resolution`: Required. Accepted values: `1K`, `2K`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send the input fields listed on this page. ### Prompt * `prompt`: Required. Describe the desired image. Length: **3-5,000 characters**. ## Verified Example This example was generated through the Vidgo API and is also the default example in the playground. Source and result images are hosted on the Vidgo CDN. ![Night Ferry in the Rain](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-pro/text-to-image/v1/01/output.jpg) ```json theme={null} { "code": 200, "data": { "task_id": "FUI8N7NW2JLV34RB", "status": "finished", "files": [ { "file_type": "image", "file_url": "https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-2-pro/text-to-image/v1/01/output.jpg" } ], "created_time": "2026-09-26T10:30:10", "error_message": null, "progress": 100 } } ``` # FLUX 3 Klein Edit Source: https://docs.vidgo.ai/api-manual/image-series/blackforestlabs-flux-3-klein-edit api-manual/image-series/blackforestlabs-flux-3-klein-edit.json POST /api/generate/submit The FLUX 3 Klein Edit API edits or combines 1–10 input images from a natural-language instruction and returns 1–4 results at 1K, 2K or 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. FLUX 3 Klein Edit changes or combines existing images from a plain-language instruction. Send one image to restyle, retouch or replace elements, or up to ten to compose a product into a new scene or merge several references into one picture, with output at 1K, 2K or 4K. FLUX 3 Klein is the compact member of Black Forest Labs' FLUX 3 image family, built for fast generation and instruction-based editing. Vidgo exposes it as two model IDs: [Text to Image](/api-manual/image-series/blackforestlabs-flux-3-klein-text-to-image) and [Edit](/api-manual/image-series/blackforestlabs-flux-3-klein-edit). ## Models * **blackforestlabs/flux-3-klein/edit** — Image edit with FLUX 3 Klein, 1–10 input images, 1–4 results. ## Features * Image edit from a natural-language instruction. * Multi-image composition with up to 10 inputs, referenced by order in the prompt. * Three resolution tiers: `1K`, `2K`, `4K`; presets or a custom size. * PNG, JPEG or WebP output, 1–4 images per request. ## Required parameters * `prompt` (string): The edit instruction. Refer to inputs by position, for example "the first image" and "the second image". Must not be blank. * `image_urls` (string\[]): 1–10 images. Public HTTP(S) URLs, or base64 data URIs that Vidgo uploads first. ## Optional parameters * `n` (integer): Number of images, `1`–`4`. Default `1`. * `resolution` (string): `1K`, `2K` or `4K`. Default `1K`. See [Resolution](#resolution). * `size` (string): Preset or custom `WIDTHxHEIGHT`. Default `1:1`. See [Resolution](#resolution). * `output_format` (string): `png`, `jpeg` or `webp`. Default `png`. * `enable_safety_checker` (boolean): Upstream safety checker. Default `true`. ## Resolution * With a preset `size` (`1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `3:2`, `2:3`), the image is scaled so its long edge matches the tier: `1K` → 1024 px, `2K` → 2048 px, `4K` → 4096 px. * With a custom `size` such as `1920x1080`, each side must be 256–4096 and a multiple of 16, and you must send `resolution` matching the long edge: up to 1024 → `1K`, up to 2048 → `2K`, above 2048 → `4K`. A mismatch returns 400. | `resolution` | Long edge (presets) | Custom long edge | | - | - | - | | `1K` | 1024 px | ≤ 1024 px | | `2K` | 2048 px | 1025–2048 px | | `4K` | 4096 px | 2049–4096 px | ## Output The finished task returns one file per requested image (`n`) in the `files` array of [Query Task Status](/api-manual/task-management/status) and the callback payload. ## Examples * **Edit one image**: turn a daytime street into a rainy night scene, `16:9`, `1K`. * **Combine two images at 2K with callback**: put the product from the first image into the scene from the second, `n: 2`, WebP, with a `callback_url`. ## Notes * Results with many references can vary in pose and viewpoint consistency; describe the subject clearly and keep the number of inputs as low as the task allows. * An empty `image_urls` array or more than ten images returns 400. Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * Credits are reserved at submission and depend on `resolution` and `n`. Text-to-image and edit use the same rates. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. The number of input images does not change the price. # FLUX 3 Klein Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/blackforestlabs-flux-3-klein-text-to-image api-manual/image-series/blackforestlabs-flux-3-klein-text-to-image.json POST /api/generate/submit The FLUX 3 Klein Text to Image API generates 1–4 images from a prompt at 1K, 2K or 4K, with 7 aspect ratios or custom sizes and PNG, JPEG or WebP output. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. FLUX 3 Klein Text to Image creates images from a prompt at 1K, 2K or 4K, using seven aspect-ratio presets or an exact custom size. It suits product shots, marketing visuals, concept art and high-volume image pipelines where fast turnaround matters. FLUX 3 Klein is the compact member of Black Forest Labs' FLUX 3 image family, built for fast generation and instruction-based editing. Vidgo exposes it as two model IDs: [Text to Image](/api-manual/image-series/blackforestlabs-flux-3-klein-text-to-image) and [Edit](/api-manual/image-series/blackforestlabs-flux-3-klein-edit). ## Models * **blackforestlabs/flux-3-klein/text-to-image** — Text-to-image with FLUX 3 Klein, 1–4 images at 1K, 2K or 4K. ## Features * Text-to-image from a single prompt. * Three resolution tiers: `1K`, `2K`, `4K`. * Seven aspect-ratio presets, or a custom `WIDTHxHEIGHT` from 256 to 4096 px per side. * PNG, JPEG or WebP output, 1–4 images per request. ## Required parameters * `prompt` (string): The image you want. Must not be blank. ## Optional parameters * `n` (integer): Number of images, `1`–`4`. Default `1`. * `resolution` (string): `1K`, `2K` or `4K`. Default `1K`. See [Resolution](#resolution). * `size` (string): Preset or custom `WIDTHxHEIGHT`. Default `1:1`. See [Resolution](#resolution). * `output_format` (string): `png`, `jpeg` or `webp`. Default `png`. * `enable_safety_checker` (boolean): Upstream safety checker. Default `true`. ## Resolution * With a preset `size` (`1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `3:2`, `2:3`), the image is scaled so its long edge matches the tier: `1K` → 1024 px, `2K` → 2048 px, `4K` → 4096 px. * With a custom `size` such as `1920x1080`, each side must be 256–4096 and a multiple of 16, and you must send `resolution` matching the long edge: up to 1024 → `1K`, up to 2048 → `2K`, above 2048 → `4K`. A mismatch returns 400. | `resolution` | Long edge (presets) | Custom long edge | | - | - | - | | `1K` | 1024 px | ≤ 1024 px | | `2K` | 2048 px | 1025–2048 px | | `4K` | 4096 px | 2049–4096 px | ## Output The finished task returns one file per requested image (`n`) in the `files` array of [Query Task Status](/api-manual/task-management/status) and the callback payload. ## Examples * **1K square image**: a product photo at `1:1`, `1K`, PNG. * **Custom 4K size, two JPEGs, with callback**: `size: 3840x2160` with `resolution: 4K` (long edge above 2048), `n: 2`, JPEG, with a `callback_url`. ## Notes * This ID takes text only; `image_urls` returns 400. To edit or combine images, use [FLUX 3 Klein Edit](/api-manual/image-series/blackforestlabs-flux-3-klein-edit). * Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * Credits are reserved at submission and depend on `resolution` and `n`. Text-to-image and edit use the same rates. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. # Flux Dev Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/blackforestlabs-flux-dev api-manual/image-series/blackforestlabs-flux-dev.json POST /api/generate/submit The Flux Dev Text to Image API generates detailed PNG or JPEG images from a text prompt, with preset aspect ratios, 1:1 HD or a custom WIDTHxHEIGHT canvas. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Submit a Task Send `model: "blackforestlabs/flux/dev"` and an `input` object to `POST /api/generate/submit`. Authenticate with `Authorization: Bearer VIDGO_API_KEY`. * `prompt`: Required string. Describe the image or editing instructions using at least one character after trimming. * `size`: Output canvas, default `1:1`. Choose `1:1`, `1:1 HD`, `4:3`, `3:4`, `16:9`, `9:16`, or a custom `WIDTHxHEIGHT` such as `1024x1536`. Custom width and height are positive integers. * `n`: Positive integer specifying the output image count, default `1`. * `output_format`: `png` or `jpeg`, default `png`. ## Retrieve Images The submission response returns `data.task_id`. Use [Query Task Status](/api-manual/task-management/status) to follow the task through `not_started`, `running`, `finished`, or `failed`. Read image URLs from `data.files[].file_url` when the status is `finished`. For `failed`, read `data.error_message`. You can provide a top-level `callback_url` to receive the terminal result through a [webhook](/api-manual/task-management/webhooks). ## Verified Example This example was generated through the Vidgo test API. The source and result images are hosted on the Vidgo CDN. ![The Violin Restorer](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux/dev/v1/01/output.png) ```json theme={null} { "code": 200, "data": { "task_id": "ZOBDNFN25SVGKU85", "status": "finished", "files": [ { "file_url": "https://cdn.vidgo.ai/apis/models/blackforestlabs/flux/dev/v1/01/output.png", "file_type": "image" } ], "created_time": "2026-09-25T11:20:26", "error_message": null, "progress": 100 } } ``` # Flux Dev Image to Image Source: https://docs.vidgo.ai/api-manual/image-series/blackforestlabs-flux-dev-image-to-image api-manual/image-series/blackforestlabs-flux-dev-image-to-image.json POST /api/generate/submit Edit one source image using a text prompt with PNG or JPEG output. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Submit a Task Send `model: "blackforestlabs/flux/dev/image-to-image"` and an `input` object to `POST /api/generate/submit`. Authenticate with `Authorization: Bearer VIDGO_API_KEY`. * `prompt`: Required string. Describe the image or editing instructions using at least one character after trimming. * `image_urls`: Required array containing one public HTTP(S) source-image URL. The source image guides the edited output. * `n`: Positive integer specifying the output image count, default `1`. * `output_format`: `png` or `jpeg`, default `png`. ### Canvas Parameter `size` defines the text-to-image canvas and defaults to `1:1`. Image-to-image generation uses the source image to guide the output. The request example supplies the source image, prompt, image count, and output format. ## Retrieve Images The submission response returns `data.task_id`. Use [Query Task Status](/api-manual/task-management/status) to follow the task through `not_started`, `running`, `finished`, or `failed`. Read image URLs from `data.files[].file_url` when the status is `finished`. For `failed`, read `data.error_message`. You can provide a top-level `callback_url` to receive the terminal result through a [webhook](/api-manual/task-management/webhooks). ## Verified Example This example was generated through the Vidgo test API. The source and result images are hosted on the Vidgo CDN. ![Source image](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux/dev/image-to-image/v1/01/input.png) ![A Warmer Reading Room](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux/dev/image-to-image/v1/01/output.png) ```json theme={null} { "code": 200, "data": { "task_id": "I0RYI5JVOJC6CR8I", "status": "finished", "files": [ { "file_url": "https://cdn.vidgo.ai/apis/models/blackforestlabs/flux/dev/image-to-image/v1/01/output.png", "file_type": "image" } ], "created_time": "2026-09-25T11:22:15", "error_message": null, "progress": 100 } } ``` # Flux Kontext Max Edit Source: https://docs.vidgo.ai/api-manual/image-series/blackforestlabs-flux-kontext-max api-manual/image-series/blackforestlabs-flux-kontext-max.json POST /api/generate/submit Apply contextual image edits with FLUX Kontext Max, refining subjects and scenes while maintaining visual continuity. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Apply contextual image edits with FLUX Kontext Max, refining subjects and scenes while maintaining visual continuity. ## Models * **blackforestlabs/flux-kontext-max** - Edit one source image with a text prompt. ## Features * Edit one source image with a text prompt. * Provide the source image as a single item in `image_urls`. ## Output Options ### Image Size * `size`: Optional. Output aspect ratio. Accepted values: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `21:9`, `9:21`. Default: `1:1`. ### Output Format * `output_format`: Optional. Output image file format. Accepted values: `png`, `jpg`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Input image URLs use HTTP(S) and point to publicly accessible image files. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **1-2,000 characters**. * Include at least one non-whitespace character. ### Image URLs * `image_urls`: Required. Provide exactly 1 publicly accessible HTTP(S) image URL as the source image. ## Verified Example This example was generated through the Vidgo API and is also the default example in the playground. Source and result images are hosted on the Vidgo CDN. ![Source image 1](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-kontext-max/v1/01/input-01.png) ![Same Cellist on a Frozen Lake](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-kontext-max/v1/01/output.png) ```json theme={null} { "code": 200, "data": { "task_id": "QBNW6JCNI530EKJV", "status": "finished", "files": [ { "file_type": "image", "file_url": "https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-kontext-max/v1/01/output.png" } ], "created_time": "2026-09-26T11:02:47", "error_message": null, "progress": 100 } } ``` # Flux Kontext Max Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/blackforestlabs-flux-kontext-max-text-to-image api-manual/image-series/blackforestlabs-flux-kontext-max-text-to-image.json POST /api/generate/submit Create images with FLUX Kontext Max, using detailed prompts to direct the subject, visual style, and framing. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create images with FLUX Kontext Max, using detailed prompts to direct the subject, visual style, and framing. ## Models * **blackforestlabs/flux-kontext-max/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. ## Output Options ### Image Size * `size`: Optional. Output aspect ratio. Accepted values: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `21:9`, `9:21`. Default: `1:1`. ### Output Format * `output_format`: Optional. Output image file format. Accepted values: `png`, `jpg`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. ### Prompt * `prompt`: Required. Describe the desired image. Length: **1-2,000 characters**. * Include at least one non-whitespace character. ## Verified Example This example was generated through the Vidgo API and is also the default example in the playground. Source and result images are hosted on the Vidgo CDN. ![Through the Porthole of a Deep-Sea Submersible](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-kontext-max/text-to-image/v1/03/output.png) ```json theme={null} { "code": 200, "data": { "task_id": "ENZJ08EV0WERQ3QY", "status": "finished", "files": [ { "file_type": "image", "file_url": "https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-kontext-max/text-to-image/v1/03/output.png" } ], "created_time": "2026-09-26T11:05:02", "error_message": null, "progress": 100 } } ``` # Flux Kontext Pro Edit Source: https://docs.vidgo.ai/api-manual/image-series/blackforestlabs-flux-kontext-pro api-manual/image-series/blackforestlabs-flux-kontext-pro.json POST /api/generate/submit Edit images with FLUX Kontext Pro using text instructions, with support for character consistency and changes to specific visual details. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Edit images with FLUX Kontext Pro using text instructions, with support for character consistency and changes to specific visual details. ## Models * **blackforestlabs/flux-kontext-pro** - Edit one source image with a text prompt. ## Features * Edit one source image with a text prompt. * Provide the source image as a single item in `image_urls`. ## Output Options ### Image Size * `size`: Optional. Output aspect ratio. Accepted values: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `21:9`, `9:21`. Default: `1:1`. ### Output Format * `output_format`: Optional. Output image file format. Accepted values: `png`, `jpg`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Input image URLs use HTTP(S) and point to publicly accessible image files. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **1-2,000 characters**. * Include at least one non-whitespace character. ### Image URLs * `image_urls`: Required. Provide exactly 1 publicly accessible HTTP(S) image URL as the source image. ## Verified Example This example was generated through the Vidgo API and is also the default example in the playground. Source and result images are hosted on the Vidgo CDN. ![Source image 1](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-kontext-pro/v1/02/input-01.png) ![Renaming a Fishing Boat in Chiloé](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-kontext-pro/v1/02/output.jpg) ```json theme={null} { "code": 200, "data": { "task_id": "KH8OWRITIOASWYGA", "status": "finished", "files": [ { "file_type": "image", "file_url": "https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-kontext-pro/v1/02/output.jpg" } ], "created_time": "2026-09-26T11:02:37", "error_message": null, "progress": 100 } } ``` # Flux Kontext Pro Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/blackforestlabs-flux-kontext-pro-text-to-image api-manual/image-series/blackforestlabs-flux-kontext-pro-text-to-image.json POST /api/generate/submit Turn natural language descriptions into images with FLUX Kontext Pro, from illustrations to composed scenes and design concepts. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Turn natural language descriptions into images with FLUX Kontext Pro, from illustrations to composed scenes and design concepts. ## Models * **blackforestlabs/flux-kontext-pro/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. ## Output Options ### Image Size * `size`: Optional. Output aspect ratio. Accepted values: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `21:9`, `9:21`. Default: `1:1`. ### Output Format * `output_format`: Optional. Output image file format. Accepted values: `png`, `jpg`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. ### Prompt * `prompt`: Required. Describe the desired image. Length: **1-2,000 characters**. * Include at least one non-whitespace character. ## Verified Example This example was generated through the Vidgo API and is also the default example in the playground. Source and result images are hosted on the Vidgo CDN. ![Storm Chasers on the Kansas Plains](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-kontext-pro/text-to-image/v1/01/output.png) ```json theme={null} { "code": 200, "data": { "task_id": "2M5RH08SQ7GQGKRE", "status": "finished", "files": [ { "file_type": "image", "file_url": "https://cdn.vidgo.ai/apis/models/blackforestlabs/flux-kontext-pro/text-to-image/v1/01/output.png" } ], "created_time": "2026-09-26T10:59:34", "error_message": null, "progress": 100 } } ``` # Flux Schnell Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/blackforestlabs-flux-schnell api-manual/image-series/blackforestlabs-flux-schnell.json POST /api/generate/submit The Flux Schnell Text to Image API quickly turns a prompt into PNG or JPEG images, with preset aspect ratios, 1:1 HD or custom WIDTHxHEIGHT sizes and batch output. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Submit a Task Send `model: "blackforestlabs/flux/schnell"` and an `input` object to `POST /api/generate/submit`. Authenticate with `Authorization: Bearer VIDGO_API_KEY`. * `prompt`: Required string. Describe the image using at least one character after trimming. * `size`: Output canvas, default `1:1`. Choose `1:1`, `1:1 HD`, `4:3`, `3:4`, `16:9`, `9:16`, or a custom `WIDTHxHEIGHT` such as `1024x1536`. Custom width and height are positive integers. * `n`: Positive integer specifying the output image count, default `1`. * `output_format`: `png` or `jpeg`, default `png`. ## Retrieve Images The submission response returns `data.task_id`. Use [Query Task Status](/api-manual/task-management/status) to follow the task through `not_started`, `running`, `finished`, or `failed`. Read image URLs from `data.files[].file_url` when the status is `finished`. For `failed`, read `data.error_message`. You can provide a top-level `callback_url` to receive the terminal result through a [webhook](/api-manual/task-management/webhooks). ## Verified Example First Light at the Cliffside Pool. This text-to-image example uses a prompt only. ```json theme={null} { "model": "blackforestlabs/flux/schnell", "input": { "prompt": "An architectural photograph of an empty public seawater swimming pool built into a coastal cliff at sunrise. From a low viewpoint beside the pool, pale turquoise water fills the foreground, broad curved stone steps descend naturally into the shallow end on the right, and a simple white limewashed wall catches moving water reflections. Warm low morning sunlight reveals the rough limestone coping and delicate ripples. Beyond the far pool edge, the calm open sea and a clean level horizon remain clearly visible. Restrained Mediterranean colors, believable pool geometry, natural light, crisp tactile surfaces, peaceful everyday public architecture. One coherent full-frame photograph, no people, hotel styling, advertising, signs, lettering, logos or watermark.", "size": "4:3", "n": 1, "output_format": "png" } } ``` ![First Light at the Cliffside Pool](https://cdn.vidgo.ai/apis/models/blackforestlabs/flux/schnell/text-to-image/v1/01/output.png) # Seedream 4.5 Edit Source: https://docs.vidgo.ai/api-manual/image-series/bytedance-seedream-v4-5-edit api-manual/image-series/bytedance-seedream-v4-5-edit.json POST /api/generate/submit Edit images with Seedream 4.5 using a text prompt and 1-10 reference images, generating 1-15 edited images per request. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Edit images with Seedream 4.5 using a text prompt and 1-10 reference images, generating 1-15 edited images per request. ## Models * **bytedance/seedream/v4.5/edit** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts 1-10 images in `image_urls`. * Control the number of output images with `n`. ## Output Options ### Image Size * `size`: Optional. Default: `1:1`. * Presets: `2K`, `4K`, `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `3:2`, `2:3`, `21:9`. * For custom dimensions, supply an object with integer `width` and `height`; both must be positive. * Custom dimensions also accept a `WIDTHxHEIGHT` string, using `x` or `X` between the positive dimensions. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `15`. Default: `1`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Input image URLs use HTTP(S) and point to publicly accessible JPEG or PNG files. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **1-3,000 characters**. * Include at least one non-whitespace character. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-10 items. Each item must be an HTTP(S) URL pointing to a JPEG or PNG image. ### Safety Checker * `enable_safety_checker`: Optional. Set `true` to enable the content safety check or `false` to disable it. Default: `true`. ## Verified Example This example was generated through the Vidgo test API with the `basic` request shown in the API playground. It combines three references in order: the child, the toy sailboat, and the lakeshore. The source and result images are hosted on the Vidgo CDN. ![Reference 1: child](https://cdn.vidgo.ai/apis/models/bytedance/seedream/v4.5/edit/v1/01/input-01.png) ![Reference 2: toy sailboat](https://cdn.vidgo.ai/apis/models/bytedance/seedream/v4.5/edit/v1/01/input-02.png) ![Reference 3: lakeshore](https://cdn.vidgo.ai/apis/models/bytedance/seedream/v4.5/edit/v1/01/input-03.png) ![Launching the Toy Boat](https://cdn.vidgo.ai/apis/models/bytedance/seedream/v4.5/edit/v1/01/output.jpg) ```json theme={null} { "code": 200, "data": { "task_id": "GAPP1TYEWHR5CQVS", "status": "finished", "files": [ { "file_url": "https://cdn.vidgo.ai/apis/models/bytedance/seedream/v4.5/edit/v1/01/output.jpg", "file_type": "image" } ], "created_time": "2026-09-25T16:16:53", "error_message": null, "progress": 100 } } ``` # Seedream 4.5 Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/bytedance-seedream-v4-5-text-to-image api-manual/image-series/bytedance-seedream-v4-5-text-to-image.json POST /api/generate/submit Develop visual concepts with Seedream 4.5, generating multiple images from a prompt to explore different styles and compositions. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Develop visual concepts with Seedream 4.5, generating multiple images from a prompt to explore different styles and compositions. ## Models * **bytedance/seedream/v4.5/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. * Control the number of output images with `n`. ## Output Options ### Image Size * `size`: Optional. Default: `1:1`. * Presets: `2K`, `4K`, `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `3:2`, `2:3`, `21:9`. * For custom dimensions, supply an object with integer `width` and `height`; both must be positive. * Custom dimensions also accept a `WIDTHxHEIGHT` string, using `x` or `X` between the positive dimensions. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `15`. Default: `1`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. ### Prompt * `prompt`: Required. Describe the desired image. Length: **1-3,000 characters**. * Include at least one non-whitespace character. ### Safety Checker * `enable_safety_checker`: Optional. Set `true` to enable the content safety check or `false` to disable it. Default: `true`. ## Verified Example This example was generated through the Vidgo test API with the `basic` request shown in the API playground. The result image is hosted on the Vidgo CDN. ![Aurora Ridge Station Cutaway](https://cdn.vidgo.ai/apis/models/bytedance/seedream/v4.5/text-to-image/v1/01/output.jpg) ```json theme={null} { "code": 200, "data": { "task_id": "PGQCZ3X31DC6OEXQ", "status": "finished", "files": [ { "file_url": "https://cdn.vidgo.ai/apis/models/bytedance/seedream/v4.5/text-to-image/v1/01/output.jpg", "file_type": "image" } ], "created_time": "2026-09-25T16:14:03", "error_message": null, "progress": 100 } } ``` # Seedream 4 Edit Source: https://docs.vidgo.ai/api-manual/image-series/bytedance-seedream-v4-edit api-manual/image-series/bytedance-seedream-v4-edit.json POST /api/generate/submit Transform images with Seedream 4 using multiple visual references, with batch variations and output up to 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Transform images with Seedream 4 using multiple visual references, with batch variations and output up to 4K. ## Models * **bytedance/seedream/v4/edit** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts 1-10 images in `image_urls`. * Choose from `1K`, `2K`, `4K` output resolutions. * Control the number of output images with `n`. ## Output Options ### Image Size * `size`: Optional. Accepted values: `1:1`, `3:4`, `4:3`, `16:9`, `9:16`, `3:2`, `2:3`, `21:9`. Default: `1:1`. ### Resolution * `resolution`: Optional. Accepted values: `1K`, `2K`, `4K`. Default: `2K`. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `15`. Default: `1`. * The number of `image_urls` plus `n` totals 15 or fewer. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Input image URLs use HTTP(S) and point to publicly accessible image files. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **1-5,000 characters**. * Include at least one non-whitespace character. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-10 items. Each item must be an HTTP(S) URL. # Seedream 4 Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/bytedance-seedream-v4-text-to-image api-manual/image-series/bytedance-seedream-v4-text-to-image.json POST /api/generate/submit Generate image sets with Seedream 4, with output up to 4K for illustrations, design concepts, and visual variations. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate image sets with Seedream 4, with output up to 4K for illustrations, design concepts, and visual variations. ## Models * **bytedance/seedream/v4/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. * Choose from `1K`, `2K`, `4K` output resolutions. * Control the number of output images with `n`. ## Output Options ### Image Size * `size`: Optional. Accepted values: `1:1`, `3:4`, `4:3`, `16:9`, `9:16`, `3:2`, `2:3`, `21:9`. Default: `1:1`. ### Resolution * `resolution`: Optional. Accepted values: `1K`, `2K`, `4K`. Default: `2K`. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `15`. Default: `1`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. ### Prompt * `prompt`: Required. Describe the desired image. Length: **1-5,000 characters**. * Include at least one non-whitespace character. # Seedream 5.0 Lite Edit Source: https://docs.vidgo.ai/api-manual/image-series/bytedance-seedream-v5-lite-edit api-manual/image-series/bytedance-seedream-v5-lite-edit.json POST /api/generate/submit Remix existing visuals with Seedream 5.0 Lite using text instructions and multiple reference images, with support for batch output. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Remix existing visuals with Seedream 5.0 Lite using text instructions and multiple reference images, with support for batch output. ## Models * **bytedance/seedream/v5/lite/edit** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts 1-10 images in `image_urls`. * Control the number of output images with `n`. ## Output Options ### Image Size * `size`: Optional. Default: `1:1`. * Presets: `2K`, `3K`, `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `3:2`, `2:3`, `21:9`. * For custom dimensions, supply an object with integer `width` and `height`; both must be positive. * Custom dimensions also accept a `WIDTHxHEIGHT` string, using `x` or `X` between the positive dimensions. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `15`. Default: `1`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Input image URLs use HTTP(S) and point to publicly accessible JPEG or PNG files. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **3-3,000 characters**. * Length is counted after leading and trailing whitespace is trimmed. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-10 items. Each item must be an HTTP(S) URL pointing to a JPEG or PNG image. ### Safety Checker * `enable_safety_checker`: Optional. Set `true` to enable the content safety check or `false` to disable it. Default: `true`. # Seedream 5.0 Lite Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/bytedance-seedream-v5-lite-text-to-image api-manual/image-series/bytedance-seedream-v5-lite-text-to-image.json POST /api/generate/submit Explore image ideas with Seedream 5.0 Lite, generating batches of visual variations from a written description. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Explore image ideas with Seedream 5.0 Lite, generating batches of visual variations from a written description. ## Models * **bytedance/seedream/v5/lite/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. * Control the number of output images with `n`. ## Output Options ### Image Size * `size`: Optional. Default: `1:1`. * Presets: `2K`, `3K`, `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `3:2`, `2:3`, `21:9`. * For custom dimensions, supply an object with integer `width` and `height`; both must be positive. * Custom dimensions also accept a `WIDTHxHEIGHT` string, using `x` or `X` between the positive dimensions. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `15`. Default: `1`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. ### Prompt * `prompt`: Required. Describe the desired image. Length: **3-3,000 characters**. * Length is counted after leading and trailing whitespace is trimmed. ### Safety Checker * `enable_safety_checker`: Optional. Set `true` to enable the content safety check or `false` to disable it. Default: `true`. # Flux.2 Source: https://docs.vidgo.ai/api-manual/image-series/flux-2 api-manual/image-series/flux-2.json POST /api/generate/submit 32B parameter image generation model from Black Forest Labs with multi-reference support and superior text rendering > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. FLUX.2 is a 32 billion parameter image generation and editing model from Black Forest Labs. It combines text-to-image and multi-image editing in a single architecture, delivering photoreal images with clean typography at resolutions up to 2K. Supports referencing up to 8 images simultaneously with excellent character, product, and style consistency. ## Models * **flux-2-pro** - High-fidelity text-to-image generation for production deployments * **flux-2-pro-edit** - Advanced multi-reference image editing with up to 8 input images * **flux-2-flex** - Adjustable speed vs. quality balance for flexible workflows * **flux-2-flex-edit** - Flexible image editing with multi-reference support ## Workflow IDs Existing IDs remain available. New integrations can select a dedicated workflow: * [blackforestlabs/flux-2-pro/text-to-image](/api-manual/image-series/blackforestlabs-flux-2-pro-text-to-image) * [blackforestlabs/flux-2-pro/edit](/api-manual/image-series/blackforestlabs-flux-2-pro-edit) * [blackforestlabs/flux-2-flex/text-to-image](/api-manual/image-series/blackforestlabs-flux-2-flex-text-to-image) * [blackforestlabs/flux-2-flex/edit](/api-manual/image-series/blackforestlabs-flux-2-flex-edit) # Nano Banana 2 Lite Edit Source: https://docs.vidgo.ai/api-manual/image-series/google-nano-banana-2-lite-edit api-manual/image-series/google-nano-banana-2-lite-edit.json POST /api/generate/submit Combine text instructions with up to fourteen reference images in Nano Banana 2 Lite to explore new scenes and visual variations. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Combine text instructions with up to fourteen reference images in Nano Banana 2 Lite to explore new scenes and visual variations. ## Models * **google/nano-banana-2-lite/edit** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts 1-14 images in `image_urls`. ## Output Options ### Aspect Ratio * `size`: Optional. Accepted values: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`. If omitted, no explicit aspect ratio is specified; there is no default. `auto` is not accepted. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the requested changes. Minimum length: **1 character**. * The value must not be blank when supplied. No maximum prompt length is specified. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-14 items. Each item must be an HTTP(S) URL. ## Billing Factors Billed per generation. Text-to-image and image editing use the same billing rate. The selected aspect ratio (`size`) and reference image count do not add charges. Credits are deducted on submission and refunded if the task fails. # Nano Banana 2 Lite Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/google-nano-banana-2-lite-text-to-image api-manual/image-series/google-nano-banana-2-lite-text-to-image.json POST /api/generate/submit Turn visual ideas into images with Nano Banana 2 Lite, with framing options for portraits, landscapes, and wide compositions. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Turn visual ideas into images with Nano Banana 2 Lite, with framing options for portraits, landscapes, and wide compositions. ## Models * **google/nano-banana-2-lite/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. ## Output Options ### Aspect Ratio * `size`: Optional. Accepted values: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`. If omitted, no explicit aspect ratio is specified; there is no default. `auto` is not accepted. For image editing, use `google/nano-banana-2-lite/edit`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the desired image. Minimum length: **1 character**. * The value must not be blank when supplied. No maximum prompt length is specified. ## Billing Factors Billed per generation. Text-to-image and image editing use the same billing rate. The selected aspect ratio (`size`) and reference image count do not add charges. Credits are deducted on submission and refunded if the task fails. # Nano Banana Edit Source: https://docs.vidgo.ai/api-manual/image-series/google-nano-banana-edit api-manual/image-series/google-nano-banana-edit.json POST /api/generate/submit Use Nano Banana to reinterpret existing images through text instructions and visual references for new scenes, styles, and compositions. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Use Nano Banana to reinterpret existing images through text instructions and visual references for new scenes, styles, and compositions. ## Models * **google/nano-banana/edit** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts at least 1 image in `image_urls`. ## Output Options ### Image Size * `size`: Optional. Accepted values: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **1-5,000 characters**. * Include at least one non-whitespace character. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply at least 1 item. Each item must be an HTTP(S) URL. # Nano Banana Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/google-nano-banana-text-to-image api-manual/image-series/google-nano-banana-text-to-image.json POST /api/generate/submit Create images from natural language with Nano Banana, exploring subjects and styles in square, portrait, or landscape compositions. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create images from natural language with Nano Banana, exploring subjects and styles in square, portrait, or landscape compositions. ## Models * **google/nano-banana/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. ## Output Options ### Image Size * `size`: Optional. Accepted values: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. ### Prompt * `prompt`: Required. Describe the desired image. Length: **1-5,000 characters**. * Include at least one non-whitespace character. # GPT-4o Image Source: https://docs.vidgo.ai/api-manual/image-series/gpt-4o-image api-manual/image-series/gpt-4o-image.json POST /api/generate/submit High-quality image generation and editing with GPT-4o > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate high-quality images using OpenAI's GPT-4o model. Supports text-to-image, image-to-image, and advanced image editing capabilities. ## Models * **gpt-4o-image** - Text-to-image and image-to-image generation * **gpt-4o-image-edit** - Advanced image editing with mask support Generation with `gpt-4o-image` uses `n` to select and bill the requested image count. Editing with `gpt-4o-image-edit` produces and bills one image per request; `n` does not increase editing outputs. # GPT Image 2 Source: https://docs.vidgo.ai/api-manual/image-series/gpt-image-2 api-manual/image-series/gpt-image-2.json POST /api/generate/submit Generate and edit images with GPT Image 2 > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Models * **gpt-image-2** - Text-to-image generation from a prompt. * **gpt-image-2-edit** - Image editing based on one or more `image_urls` and a text instruction. ## Overview Use Vidgo API to generate a single image from a prompt or edit one or more reference images with natural-language instructions. GPT Image 2 supports explicit quality tiers, ratio presets, custom dimensions, and `1K`, `2K`, or `4K` resolution control. ## Resolution The `resolution` parameter controls the effective output resolution. | Resolution | Description | | - | - | | `1K` | Standard resolution | | `2K` | High resolution | | `4K` | Ultra-high resolution for true 4K-supported sizes | ### Billing Factors Each request generates one image. Billing depends on `quality` and the effective output resolution determined by `size` and `resolution`. The rules below explain how the effective resolution is selected. ## Resolution Rules * If `size` is omitted or set to `auto`, the request is processed and billed as `1K`, even if `resolution` is provided. * Custom `WIDTHxHEIGHT` sizes require `resolution` `2K` or `4K`. * `4K` billing applies only to `16:9`, `9:16`, `21:9`, or custom sizes with a `3840`-pixel edge. * A `4K` request that does not meet the true 4K rule is billed at the effective `2K` tier. * A custom size whose longest edge is `3840` must use `resolution: "4K"`. ## Custom Size Constraints Custom sizes use `WIDTHxHEIGHT` format, for example `2304x1536`, and must satisfy all of the following: * Width and height must both be divisible by `16`. * The maximum edge length is `3840` pixels. * The aspect ratio must not exceed `3:1`. * Total pixel count must stay between `655,360` and `8,294,400`. ## Request Examples ### Generate Image ```bash theme={null} curl --request POST \ --url https://api.vidgo.ai/api/generate/submit \ --header "Authorization: Bearer VIDGO_API_KEY" \ --header "Content-Type: application/json" \ --data '{ "model": "gpt-image-2", "callback_url": "https://your-domain.com/callback", "input": { "prompt": "A premium product photo of a silver espresso machine on a clean white studio background, realistic lighting, high detail", "quality": "low", "size": "1:1", "resolution": "1K" } }' ``` ### Edit Image ```bash theme={null} curl --request POST \ --url https://api.vidgo.ai/api/generate/submit \ --header "Authorization: Bearer VIDGO_API_KEY" \ --header "Content-Type: application/json" \ --data '{ "model": "gpt-image-2-edit", "callback_url": "https://your-domain.com/callback", "input": { "prompt": "Replace the background with a clean white studio backdrop and add a soft natural shadow while preserving the product shape", "quality": "medium", "size": "1:1", "resolution": "2K", "image_urls": [ "https://cdn.vidgo.ai/temp/reference-product.jpg" ] } }' ``` ## Response Flow The submit endpoint returns a `task_id`, `status`, and `created_time`. If you provide `callback_url`, Vidgo API sends a POST request when the task reaches `finished` or `failed`. Use the unified status endpoint to retrieve the final result: ```bash theme={null} curl --request GET \ --url https://api.vidgo.ai/api/generate/status/task-unified-1757165031-uyujaw3d \ --header "Authorization: Bearer VIDGO_API_KEY" ``` When the task is `finished`, the status response includes generated image file URLs in `data.files`. If the task fails, the status payload returns the failure details for troubleshooting. ## Notes * `input.prompt` is required and supports up to `4000` characters. * `input.quality` is optional: `low`, `medium`, or `high`. Default: `low`. * `input.size` is optional. Supported values are `auto`, `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `16:9`, `9:16`, `21:9`, or a custom `WIDTHxHEIGHT` value. * `input.resolution` is optional: `1K`, `2K`, or `4K`. * `gpt-image-2-edit` requires `input.image_urls`. * `gpt-image-2` does not accept `input.image_urls`. * Each request returns one image. # GPT Image 2.5 Flare Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/gpt-image-2-5-flare-edit api-manual/image-series/gpt-image-2-5-flare-edit.json POST /api/generate/submit The GPT Image 2.5 Flare Image Edit API edits 1–16 reference images into one 1K–4K image, with optional masks, custom sizes and transparent backgrounds. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. GPT Image 2.5 Flare Image Edit edits images from text instructions: send 1–16 reference images to restyle, replace backgrounds, combine products into a new scene, or change only a masked region. Flare is the faster GPT Image 2.5 option, suited to quick iteration. For prompt-only generation, use [GPT Image 2.5 Flare Text to Image](/api-manual/image-series/gpt-image-2-5-flare-text-to-image) (`openai/gpt-image-2.5-flare/text-to-image`). ## Models * **openai/gpt-image-2.5-flare/edit** — Image edit with GPT Image 2.5 Flare, 1–16 reference images, one image per request. ## Features * Instruction-based editing with up to 16 reference images, referenced by order in the prompt. * Optional mask to limit the edit to one region. * Three resolution tiers (`1K`, `2K`, `4K`) with aspect-ratio presets, `auto`, or custom `WIDTHxHEIGHT` sizes. * Five quality tiers: `low`, `medium`, `high`, `xhigh`, `max`. * Transparent or opaque backgrounds; PNG, JPEG or WebP output. ## Required parameters * `prompt` (string): Text instructions describing the edit. Up to 32,000 characters; must not be blank. * `image_urls` (string\[]): 1–16 reference images as publicly accessible HTTP(S) URLs, in the order you refer to them in the prompt. ## Optional parameters * `size` (string): Aspect-ratio preset, `auto`, or custom `WIDTHxHEIGHT`. When omitted, the output follows the first reference image's aspect ratio. See [Size](#size). * `resolution` (string): `1K`, `2K` or `4K`. Default `1K`. * `quality` (string): `low`, `medium`, `high`, `xhigh` or `max`. Default `high`. * `background` (string): `auto`, `transparent` or `opaque`. Default `auto`. A transparent background requires `png` or `webp` output. * `output_format` (string): `png`, `jpeg` or `webp`. Default `png`. * `mask_url` (string): Mask image selecting the area to edit, as a publicly accessible HTTP(S) URL. Requires `image_urls`. ## Size * Presets: `1:1`, `2:3`, `3:2`, `4:3`, `3:4`, `4:5`, `5:4`, `16:9`, `9:16`, `21:9`. When `size` is omitted, the output follows the first reference image's aspect ratio, using the closest supported ratio at the selected `resolution`. Send `size` to override it. * Presets keep the selected `resolution` tier; actual pixel dimensions may vary between generations. Use a custom size when you need exact pixels. * `auto` lets the model choose the size (about 1.5 megapixels). It works with any `resolution` and is billed at the `1K` tier. * Custom `WIDTHxHEIGHT` (use `x` or `X`, for example `2304x1536`) works with any `resolution`. Both edges must be multiples of 16, the longest edge must not exceed 3,840 pixels, the aspect ratio must not exceed 3:1, and total pixels must be between 655,360 and 8,294,400. * A custom size is billed at the tier that matches its total pixels, or at the selected `resolution` if that is higher: | Total pixels (custom size) | Billing tier | | - | - | | Up to 1,572,864 | `1K` | | 1,572,865–4,194,304 | `2K` | | Above 4,194,304 | `4K` | ## Examples * **Edit with a reference image**: replace the background at `2K` without `size`, so the output keeps the reference image's aspect ratio. * **Mask edit**: change only the masked area, with `size: auto`. * **Transparent background**: remove the background, WebP, `4K`, `xhigh` quality. * **Custom size**: place the product in a panoramic scene at `2304x1536`, `2K`, `medium` quality. ## Notes * Each request returns exactly one image; `n` other than `1` returns 400. Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * A transparent background with `output_format: jpeg` returns 400. * An empty `image_urls` array, more than 16 images, or a URL that is not a valid HTTP(S) URL returns 400. * Credits depend on `quality`, the billing tier (`resolution`, or the custom-size tier described in [Size](#size)) and the number of reference images. The per-image maximum is reserved at submission; when the task finishes you are charged for actual token usage, up to that maximum, and the rest is refunded. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. # GPT Image 2.5 Flare Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/gpt-image-2-5-flare-text-to-image api-manual/image-series/gpt-image-2-5-flare-text-to-image.json POST /api/generate/submit The GPT Image 2.5 Flare Text to Image API turns a prompt into one 1K, 2K or 4K image, with preset or custom sizes, five quality tiers and transparent backgrounds. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. GPT Image 2.5 Flare Text to Image generates one image from a text prompt, from quick product shots to transparent assets and exact-pixel layouts at 1K, 2K or 4K. Flare is the faster GPT Image 2.5 option, suited to quick iteration. For reference-image editing, use [GPT Image 2.5 Flare Image Edit](/api-manual/image-series/gpt-image-2-5-flare-edit) (`openai/gpt-image-2.5-flare/edit`). ## Models * **openai/gpt-image-2.5-flare/text-to-image** — Text to image with GPT Image 2.5 Flare, one image per request. ## Features * Text-to-image from a prompt of up to 32,000 characters. * Three resolution tiers (`1K`, `2K`, `4K`) with aspect-ratio presets, `auto`, or custom `WIDTHxHEIGHT` sizes. * Five quality tiers: `low`, `medium`, `high`, `xhigh`, `max`. * Transparent or opaque backgrounds; PNG, JPEG or WebP output. ## Required parameters * `prompt` (string): Text describing the desired image. Up to 32,000 characters; must not be blank. ## Optional parameters * `size` (string): Aspect-ratio preset, `auto`, or custom `WIDTHxHEIGHT`. Default `1:1`. See [Size](#size). * `resolution` (string): `1K`, `2K` or `4K`. Default `1K`. * `quality` (string): `low`, `medium`, `high`, `xhigh` or `max`. Default `high`. * `background` (string): `auto`, `transparent` or `opaque`. Default `auto`. A transparent background requires `png` or `webp` output. * `output_format` (string): `png`, `jpeg` or `webp`. Default `png`. ## Size * Presets: `1:1`, `2:3`, `3:2`, `4:3`, `3:4`, `4:5`, `5:4`, `16:9`, `9:16`, `21:9`. When `size` is omitted, the output is `1:1` at the selected `resolution`. * Presets keep the selected `resolution` tier; actual pixel dimensions may vary between generations. Use a custom size when you need exact pixels. * `auto` lets the model choose the size (about 1.5 megapixels). It works with any `resolution` and is billed at the `1K` tier. * Custom `WIDTHxHEIGHT` (use `x` or `X`, for example `2304x1536`) works with any `resolution`. Both edges must be multiples of 16, the longest edge must not exceed 3,840 pixels, the aspect ratio must not exceed 3:1, and total pixels must be between 655,360 and 8,294,400. * A custom size is billed at the tier that matches its total pixels, or at the selected `resolution` if that is higher: | Total pixels (custom size) | Billing tier | | - | - | | Up to 1,572,864 | `1K` | | 1,572,865–4,194,304 | `2K` | | Above 4,194,304 | `4K` | ## Examples * **Generate one image**: a studio product photo, `1:1`, `1K`, with a `callback_url`. * **Transparent asset**: a cutout with `background: transparent`, WebP, `4K`, `xhigh` quality. * **Custom size**: a panoramic scene at `2304x1536`, `2K`, `medium` quality. ## Notes * Each request returns exactly one image; `n` other than `1` returns 400. Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * A transparent background with `output_format: jpeg` returns 400. * Credits depend on `quality` and the billing tier (`resolution`, or the custom-size tier described in [Size](#size)). The per-image maximum is reserved at submission; when the task finishes you are charged for actual token usage, up to that maximum, and the rest is refunded. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. # GPT Image 2.5 Sunburst Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/gpt-image-2-5-sunburst-edit api-manual/image-series/gpt-image-2-5-sunburst-edit.json POST /api/generate/submit The GPT Image 2.5 Sunburst Image Edit API edits 1–16 reference images into one 1K–4K image, with optional masks, custom sizes and transparent backgrounds. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. GPT Image 2.5 Sunburst Image Edit edits images from text instructions: send 1–16 reference images to restyle, replace backgrounds, combine products into a new scene, or change only a masked region. Sunburst is the GPT Image 2.5 option for detailed visual work and precision-focused editing. For prompt-only generation, use [GPT Image 2.5 Sunburst Text to Image](/api-manual/image-series/gpt-image-2-5-sunburst-text-to-image) (`openai/gpt-image-2.5-sunburst/text-to-image`). ## Models * **openai/gpt-image-2.5-sunburst/edit** — Image edit with GPT Image 2.5 Sunburst, 1–16 reference images, one image per request. ## Features * Instruction-based editing with up to 16 reference images, referenced by order in the prompt. * Optional mask to limit the edit to one region. * Three resolution tiers (`1K`, `2K`, `4K`) with aspect-ratio presets, `auto`, or custom `WIDTHxHEIGHT` sizes. * Five quality tiers: `low`, `medium`, `high`, `xhigh`, `max`. * Transparent or opaque backgrounds; PNG, JPEG or WebP output. ## Required parameters * `prompt` (string): Text instructions describing the edit. Up to 32,000 characters; must not be blank. * `image_urls` (string\[]): 1–16 reference images as publicly accessible HTTP(S) URLs, in the order you refer to them in the prompt. ## Optional parameters * `size` (string): Aspect-ratio preset, `auto`, or custom `WIDTHxHEIGHT`. When omitted, the output follows the first reference image's aspect ratio. See [Size](#size). * `resolution` (string): `1K`, `2K` or `4K`. Default `1K`. * `quality` (string): `low`, `medium`, `high`, `xhigh` or `max`. Default `high`. * `background` (string): `auto`, `transparent` or `opaque`. Default `auto`. A transparent background requires `png` or `webp` output. * `output_format` (string): `png`, `jpeg` or `webp`. Default `png`. * `mask_url` (string): Mask image selecting the area to edit, as a publicly accessible HTTP(S) URL. Requires `image_urls`. ## Size * Presets: `1:1`, `2:3`, `3:2`, `4:3`, `3:4`, `4:5`, `5:4`, `16:9`, `9:16`, `21:9`. When `size` is omitted, the output follows the first reference image's aspect ratio, using the closest supported ratio at the selected `resolution`. Send `size` to override it. * Presets keep the selected `resolution` tier; actual pixel dimensions may vary between generations. Use a custom size when you need exact pixels. * `auto` lets the model choose the size (about 1.5 megapixels). It works with any `resolution` and is billed at the `1K` tier. * Custom `WIDTHxHEIGHT` (use `x` or `X`, for example `2304x1536`) works with any `resolution`. Both edges must be multiples of 16, the longest edge must not exceed 3,840 pixels, the aspect ratio must not exceed 3:1, and total pixels must be between 655,360 and 8,294,400. * A custom size is billed at the tier that matches its total pixels, or at the selected `resolution` if that is higher: | Total pixels (custom size) | Billing tier | | - | - | | Up to 1,572,864 | `1K` | | 1,572,865–4,194,304 | `2K` | | Above 4,194,304 | `4K` | ## Examples * **Edit with a reference image**: replace the background at `2K` without `size`, so the output keeps the reference image's aspect ratio. * **Mask edit**: change only the masked area, with `size: auto`. * **Transparent background**: remove the background, WebP, `4K`, `xhigh` quality. * **Custom size**: place the product in a panoramic scene at `2304x1536`, `2K`, `medium` quality. ## Notes * Each request returns exactly one image; `n` other than `1` returns 400. Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * A transparent background with `output_format: jpeg` returns 400. * An empty `image_urls` array, more than 16 images, or a URL that is not a valid HTTP(S) URL returns 400. * Credits depend on `quality`, the billing tier (`resolution`, or the custom-size tier described in [Size](#size)) and the number of reference images. The per-image maximum is reserved at submission; when the task finishes you are charged for actual token usage, up to that maximum, and the rest is refunded. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. # GPT Image 2.5 Sunburst Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/gpt-image-2-5-sunburst-text-to-image api-manual/image-series/gpt-image-2-5-sunburst-text-to-image.json POST /api/generate/submit The GPT Image 2.5 Sunburst Text to Image API turns a prompt into one 1K, 2K or 4K image, with preset or custom sizes, five quality tiers and transparent backgrounds. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. GPT Image 2.5 Sunburst Text to Image generates one image from a text prompt, from quick product shots to transparent assets and exact-pixel layouts at 1K, 2K or 4K. Sunburst is the GPT Image 2.5 option for detailed visual work and precision-focused editing. For reference-image editing, use [GPT Image 2.5 Sunburst Image Edit](/api-manual/image-series/gpt-image-2-5-sunburst-edit) (`openai/gpt-image-2.5-sunburst/edit`). ## Models * **openai/gpt-image-2.5-sunburst/text-to-image** — Text to image with GPT Image 2.5 Sunburst, one image per request. ## Features * Text-to-image from a prompt of up to 32,000 characters. * Three resolution tiers (`1K`, `2K`, `4K`) with aspect-ratio presets, `auto`, or custom `WIDTHxHEIGHT` sizes. * Five quality tiers: `low`, `medium`, `high`, `xhigh`, `max`. * Transparent or opaque backgrounds; PNG, JPEG or WebP output. ## Required parameters * `prompt` (string): Text describing the desired image. Up to 32,000 characters; must not be blank. ## Optional parameters * `size` (string): Aspect-ratio preset, `auto`, or custom `WIDTHxHEIGHT`. Default `1:1`. See [Size](#size). * `resolution` (string): `1K`, `2K` or `4K`. Default `1K`. * `quality` (string): `low`, `medium`, `high`, `xhigh` or `max`. Default `high`. * `background` (string): `auto`, `transparent` or `opaque`. Default `auto`. A transparent background requires `png` or `webp` output. * `output_format` (string): `png`, `jpeg` or `webp`. Default `png`. ## Size * Presets: `1:1`, `2:3`, `3:2`, `4:3`, `3:4`, `4:5`, `5:4`, `16:9`, `9:16`, `21:9`. When `size` is omitted, the output is `1:1` at the selected `resolution`. * Presets keep the selected `resolution` tier; actual pixel dimensions may vary between generations. Use a custom size when you need exact pixels. * `auto` lets the model choose the size (about 1.5 megapixels). It works with any `resolution` and is billed at the `1K` tier. * Custom `WIDTHxHEIGHT` (use `x` or `X`, for example `2304x1536`) works with any `resolution`. Both edges must be multiples of 16, the longest edge must not exceed 3,840 pixels, the aspect ratio must not exceed 3:1, and total pixels must be between 655,360 and 8,294,400. * A custom size is billed at the tier that matches its total pixels, or at the selected `resolution` if that is higher: | Total pixels (custom size) | Billing tier | | - | - | | Up to 1,572,864 | `1K` | | 1,572,865–4,194,304 | `2K` | | Above 4,194,304 | `4K` | ## Examples * **Generate one image**: a studio product photo, `1:1`, `1K`, with a `callback_url`. * **Transparent asset**: a cutout with `background: transparent`, WebP, `4K`, `xhigh` quality. * **Custom size**: a panoramic scene at `2304x1536`, `2K`, `medium` quality. ## Notes * Each request returns exactly one image; `n` other than `1` returns 400. Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * A transparent background with `output_format: jpeg` returns 400. * Credits depend on `quality` and the billing tier (`resolution`, or the custom-size tier described in [Size](#size)). The per-image maximum is reserved at submission; when the task finishes you are charged for actual token usage, up to that maximum, and the rest is refunded. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. # GPT Image 2.6 Flare Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/gpt-image-2-6-flare-edit api-manual/image-series/gpt-image-2-6-flare-edit.json POST /api/generate/submit The GPT Image 2.6 Flare Image Edit API edits 1–16 reference images into one 1K–4K image, with optional masks, transparent backgrounds and output compression. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. GPT Image 2.6 Flare Image Edit edits images from text instructions: send 1–16 reference images to restyle, replace backgrounds, combine products into a new scene, or change only a masked region. Flare is the faster GPT Image 2.6 option, suited to quick iteration. For prompt-only generation, use [GPT Image 2.6 Flare Text to Image](/api-manual/image-series/gpt-image-2-6-flare-text-to-image) (`openai/gpt-image-2.6-flare/text-to-image`). GPT Image 2.6 accepts the same parameters as [GPT Image 2.5 Flare](/api-manual/image-series/gpt-image-2-5-flare-edit), plus `output_compression`, `moderation` and `complexity`. ## Models * **openai/gpt-image-2.6-flare/edit** — Image edit with GPT Image 2.6 Flare, 1–16 reference images, one image per request. ## Features * Instruction-based editing with up to 16 reference images, referenced by order in the prompt. * Optional mask to limit the edit to one region. * Three resolution tiers (`1K`, `2K`, `4K`) with aspect-ratio presets, `auto`, or custom `WIDTHxHEIGHT` sizes. * Five quality tiers: `low`, `medium`, `high`, `xhigh`, `max`. * Transparent or opaque backgrounds; PNG, JPEG or WebP output. * Adjustable JPEG/WebP compression, moderation strictness and planning effort (`complexity`). ## Required parameters * `prompt` (string): Text instructions describing the edit. Up to 32,000 characters; must not be blank. * `image_urls` (string\[]): 1–16 reference images as publicly accessible HTTP(S) URLs, in the order you refer to them in the prompt. ## Optional parameters * `size` (string): Aspect-ratio preset, `auto`, or custom `WIDTHxHEIGHT`. When omitted, the output follows the first reference image's aspect ratio. See [Size](#size). * `resolution` (string): `1K`, `2K` or `4K`. Default `1K`. * `quality` (string): `low`, `medium`, `high`, `xhigh` or `max`. Default `high`. * `background` (string): `auto`, `transparent` or `opaque`. Default `auto`. A transparent background requires `png` or `webp` output. * `output_format` (string): `png`, `jpeg` or `webp`. Default `png`. * `output_compression` (integer): Compression level from `0` to `100`. Only allowed when `output_format` is `jpeg` or `webp`. When omitted, the default compression applies. * `mask_url` (string): Mask image selecting the area to edit, as a publicly accessible HTTP(S) URL. Requires `image_urls`. * `moderation` (string): Content moderation strictness, `auto` or `low`. Default `auto`; `low` applies less restrictive filtering. * `complexity` (string): Planning effort the model spends before generating, `low`, `medium` or `high`. Default `high`. Does not change the price. ## Size * Presets: `1:1`, `2:3`, `3:2`, `4:3`, `3:4`, `4:5`, `5:4`, `16:9`, `9:16`, `21:9`. When `size` is omitted, the output follows the first reference image's aspect ratio, using the closest supported ratio at the selected `resolution`. Send `size` to override it. * Presets keep the selected `resolution` tier; actual pixel dimensions may vary between generations. Use a custom size when you need exact pixels. * `auto` lets the model choose the size (about 1.5 megapixels). It works with any `resolution` and is billed at the `1K` tier. * Custom `WIDTHxHEIGHT` (use `x` or `X`, for example `2304x1536`) works with any `resolution`. Both edges must be multiples of 16, the longest edge must not exceed 3,840 pixels, the aspect ratio must not exceed 3:1, and total pixels must be between 655,360 and 8,294,400. * A custom size is billed at the tier that matches its total pixels, or at the selected `resolution` if that is higher: | Total pixels (custom size) | Billing tier | | - | - | | Up to 1,572,864 | `1K` | | 1,572,865–4,194,304 | `2K` | | Above 4,194,304 | `4K` | ## Examples * **Edit with a reference image**: replace the background at `2K` without `size`, so the output keeps the reference image's aspect ratio. * **Mask edit**: change only the masked area, with `size: auto`. * **Transparent background**: remove the background, WebP, `4K`, `xhigh` quality. * **Custom size**: place the product in a panoramic scene at `2304x1536`, `2K`, `medium` quality. * **Compressed JPEG**: `3:2`, `medium` quality, `output_format: jpeg`, `output_compression: 80`. ## Notes * Each request returns exactly one image; `n` other than `1` returns 400. Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * A transparent background with `output_format: jpeg` returns 400. `output_compression` with `output_format: png` also returns 400. * An empty `image_urls` array, more than 16 images, or a URL that is not a valid HTTP(S) URL returns 400. * Credits depend on `quality`, the billing tier (`resolution`, or the custom-size tier described in [Size](#size)) and the number of reference images. `complexity` and `moderation` do not change the price. The per-image maximum is reserved at submission; when the task finishes you are charged for actual token usage, up to that maximum, and the rest is refunded. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. # GPT Image 2.6 Flare Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/gpt-image-2-6-flare-text-to-image api-manual/image-series/gpt-image-2-6-flare-text-to-image.json POST /api/generate/submit The GPT Image 2.6 Flare Text to Image API turns a prompt into one 1K, 2K or 4K image, with transparent backgrounds, output compression and moderation control. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. GPT Image 2.6 Flare Text to Image generates one image from a text prompt, from quick product shots to transparent assets and exact-pixel layouts at 1K, 2K or 4K. Flare is the faster GPT Image 2.6 option, suited to quick iteration. For reference-image editing, use [GPT Image 2.6 Flare Image Edit](/api-manual/image-series/gpt-image-2-6-flare-edit) (`openai/gpt-image-2.6-flare/edit`). GPT Image 2.6 accepts the same parameters as [GPT Image 2.5 Flare](/api-manual/image-series/gpt-image-2-5-flare-text-to-image), plus `output_compression`, `moderation` and `complexity`. ## Models * **openai/gpt-image-2.6-flare/text-to-image** — Text to image with GPT Image 2.6 Flare, one image per request. ## Features * Text-to-image from a prompt of up to 32,000 characters. * Three resolution tiers (`1K`, `2K`, `4K`) with aspect-ratio presets, `auto`, or custom `WIDTHxHEIGHT` sizes. * Five quality tiers: `low`, `medium`, `high`, `xhigh`, `max`. * Transparent or opaque backgrounds; PNG, JPEG or WebP output. * Adjustable JPEG/WebP compression, moderation strictness and planning effort (`complexity`). ## Required parameters * `prompt` (string): Text describing the desired image. Up to 32,000 characters; must not be blank. ## Optional parameters * `size` (string): Aspect-ratio preset, `auto`, or custom `WIDTHxHEIGHT`. Default `1:1`. See [Size](#size). * `resolution` (string): `1K`, `2K` or `4K`. Default `1K`. * `quality` (string): `low`, `medium`, `high`, `xhigh` or `max`. Default `high`. * `background` (string): `auto`, `transparent` or `opaque`. Default `auto`. A transparent background requires `png` or `webp` output. * `output_format` (string): `png`, `jpeg` or `webp`. Default `png`. * `output_compression` (integer): Compression level from `0` to `100`. Only allowed when `output_format` is `jpeg` or `webp`. When omitted, the default compression applies. * `moderation` (string): Content moderation strictness, `auto` or `low`. Default `auto`; `low` applies less restrictive filtering. * `complexity` (string): Planning effort the model spends before generating, `low`, `medium` or `high`. Default `high`. Does not change the price. ## Size * Presets: `1:1`, `2:3`, `3:2`, `4:3`, `3:4`, `4:5`, `5:4`, `16:9`, `9:16`, `21:9`. When `size` is omitted, the output is `1:1` at the selected `resolution`. * Presets keep the selected `resolution` tier; actual pixel dimensions may vary between generations. Use a custom size when you need exact pixels. * `auto` lets the model choose the size (about 1.5 megapixels). It works with any `resolution` and is billed at the `1K` tier. * Custom `WIDTHxHEIGHT` (use `x` or `X`, for example `2304x1536`) works with any `resolution`. Both edges must be multiples of 16, the longest edge must not exceed 3,840 pixels, the aspect ratio must not exceed 3:1, and total pixels must be between 655,360 and 8,294,400. * A custom size is billed at the tier that matches its total pixels, or at the selected `resolution` if that is higher: | Total pixels (custom size) | Billing tier | | - | - | | Up to 1,572,864 | `1K` | | 1,572,865–4,194,304 | `2K` | | Above 4,194,304 | `4K` | ## Examples * **Generate one image**: a studio product photo, `1:1`, `1K`, with a `callback_url`. * **Transparent asset**: a cutout with `background: transparent`, WebP, `4K`, `xhigh` quality. * **Custom size**: a panoramic scene at `2304x1536`, `2K`, `medium` quality. * **Compressed JPEG**: `3:2`, `medium` quality, `output_format: jpeg`, `output_compression: 80`. ## Notes * Each request returns exactly one image; `n` other than `1` returns 400. Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * A transparent background with `output_format: jpeg` returns 400. `output_compression` with `output_format: png` also returns 400. * Credits depend on `quality` and the billing tier (`resolution`, or the custom-size tier described in [Size](#size)). `complexity` and `moderation` do not change the price. The per-image maximum is reserved at submission; when the task finishes you are charged for actual token usage, up to that maximum, and the rest is refunded. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. # GPT Image 2.6 Sunburst Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/gpt-image-2-6-sunburst-edit api-manual/image-series/gpt-image-2-6-sunburst-edit.json POST /api/generate/submit The GPT Image 2.6 Sunburst Image Edit API edits 1–16 reference images into one 1K–4K image, with optional masks, transparent backgrounds and output compression. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. GPT Image 2.6 Sunburst Image Edit edits images from text instructions: send 1–16 reference images to restyle, replace backgrounds, combine products into a new scene, or change only a masked region. Sunburst is the GPT Image 2.6 option for detailed visual work and precision-focused editing. For prompt-only generation, use [GPT Image 2.6 Sunburst Text to Image](/api-manual/image-series/gpt-image-2-6-sunburst-text-to-image) (`openai/gpt-image-2.6-sunburst/text-to-image`). GPT Image 2.6 accepts the same parameters as [GPT Image 2.5 Sunburst](/api-manual/image-series/gpt-image-2-5-sunburst-edit), plus `output_compression`, `moderation` and `complexity`. ## Models * **openai/gpt-image-2.6-sunburst/edit** — Image edit with GPT Image 2.6 Sunburst, 1–16 reference images, one image per request. ## Features * Instruction-based editing with up to 16 reference images, referenced by order in the prompt. * Optional mask to limit the edit to one region. * Three resolution tiers (`1K`, `2K`, `4K`) with aspect-ratio presets, `auto`, or custom `WIDTHxHEIGHT` sizes. * Five quality tiers: `low`, `medium`, `high`, `xhigh`, `max`. * Transparent or opaque backgrounds; PNG, JPEG or WebP output. * Adjustable JPEG/WebP compression, moderation strictness and planning effort (`complexity`). ## Required parameters * `prompt` (string): Text instructions describing the edit. Up to 32,000 characters; must not be blank. * `image_urls` (string\[]): 1–16 reference images as publicly accessible HTTP(S) URLs, in the order you refer to them in the prompt. ## Optional parameters * `size` (string): Aspect-ratio preset, `auto`, or custom `WIDTHxHEIGHT`. When omitted, the output follows the first reference image's aspect ratio. See [Size](#size). * `resolution` (string): `1K`, `2K` or `4K`. Default `1K`. * `quality` (string): `low`, `medium`, `high`, `xhigh` or `max`. Default `high`. * `background` (string): `auto`, `transparent` or `opaque`. Default `auto`. A transparent background requires `png` or `webp` output. * `output_format` (string): `png`, `jpeg` or `webp`. Default `png`. * `output_compression` (integer): Compression level from `0` to `100`. Only allowed when `output_format` is `jpeg` or `webp`. When omitted, the default compression applies. * `mask_url` (string): Mask image selecting the area to edit, as a publicly accessible HTTP(S) URL. Requires `image_urls`. * `moderation` (string): Content moderation strictness, `auto` or `low`. Default `auto`; `low` applies less restrictive filtering. * `complexity` (string): Planning effort the model spends before generating, `low`, `medium` or `high`. Default `high`. Does not change the price. ## Size * Presets: `1:1`, `2:3`, `3:2`, `4:3`, `3:4`, `4:5`, `5:4`, `16:9`, `9:16`, `21:9`. When `size` is omitted, the output follows the first reference image's aspect ratio, using the closest supported ratio at the selected `resolution`. Send `size` to override it. * Presets keep the selected `resolution` tier; actual pixel dimensions may vary between generations. Use a custom size when you need exact pixels. * `auto` lets the model choose the size (about 1.5 megapixels). It works with any `resolution` and is billed at the `1K` tier. * Custom `WIDTHxHEIGHT` (use `x` or `X`, for example `2304x1536`) works with any `resolution`. Both edges must be multiples of 16, the longest edge must not exceed 3,840 pixels, the aspect ratio must not exceed 3:1, and total pixels must be between 655,360 and 8,294,400. * A custom size is billed at the tier that matches its total pixels, or at the selected `resolution` if that is higher: | Total pixels (custom size) | Billing tier | | - | - | | Up to 1,572,864 | `1K` | | 1,572,865–4,194,304 | `2K` | | Above 4,194,304 | `4K` | ## Examples * **Edit with a reference image**: replace the background at `2K` without `size`, so the output keeps the reference image's aspect ratio. * **Mask edit**: change only the masked area, with `size: auto`. * **Transparent background**: remove the background, WebP, `4K`, `xhigh` quality. * **Custom size**: place the product in a panoramic scene at `2304x1536`, `2K`, `medium` quality. * **Compressed JPEG**: `3:2`, `medium` quality, `output_format: jpeg`, `output_compression: 80`. ## Notes * Each request returns exactly one image; `n` other than `1` returns 400. Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * A transparent background with `output_format: jpeg` returns 400. `output_compression` with `output_format: png` also returns 400. * An empty `image_urls` array, more than 16 images, or a URL that is not a valid HTTP(S) URL returns 400. * Credits depend on `quality`, the billing tier (`resolution`, or the custom-size tier described in [Size](#size)) and the number of reference images. `complexity` and `moderation` do not change the price. The per-image maximum is reserved at submission; when the task finishes you are charged for actual token usage, up to that maximum, and the rest is refunded. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. # GPT Image 2.6 Sunburst Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/gpt-image-2-6-sunburst-text-to-image api-manual/image-series/gpt-image-2-6-sunburst-text-to-image.json POST /api/generate/submit The GPT Image 2.6 Sunburst Text to Image API turns a prompt into one 1K, 2K or 4K image, with transparent backgrounds, output compression and moderation control. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. GPT Image 2.6 Sunburst Text to Image generates one image from a text prompt, from quick product shots to transparent assets and exact-pixel layouts at 1K, 2K or 4K. Sunburst is the GPT Image 2.6 option for detailed visual work and precision-focused editing. For reference-image editing, use [GPT Image 2.6 Sunburst Image Edit](/api-manual/image-series/gpt-image-2-6-sunburst-edit) (`openai/gpt-image-2.6-sunburst/edit`). GPT Image 2.6 accepts the same parameters as [GPT Image 2.5 Sunburst](/api-manual/image-series/gpt-image-2-5-sunburst-text-to-image), plus `output_compression`, `moderation` and `complexity`. ## Models * **openai/gpt-image-2.6-sunburst/text-to-image** — Text to image with GPT Image 2.6 Sunburst, one image per request. ## Features * Text-to-image from a prompt of up to 32,000 characters. * Three resolution tiers (`1K`, `2K`, `4K`) with aspect-ratio presets, `auto`, or custom `WIDTHxHEIGHT` sizes. * Five quality tiers: `low`, `medium`, `high`, `xhigh`, `max`. * Transparent or opaque backgrounds; PNG, JPEG or WebP output. * Adjustable JPEG/WebP compression, moderation strictness and planning effort (`complexity`). ## Required parameters * `prompt` (string): Text describing the desired image. Up to 32,000 characters; must not be blank. ## Optional parameters * `size` (string): Aspect-ratio preset, `auto`, or custom `WIDTHxHEIGHT`. Default `1:1`. See [Size](#size). * `resolution` (string): `1K`, `2K` or `4K`. Default `1K`. * `quality` (string): `low`, `medium`, `high`, `xhigh` or `max`. Default `high`. * `background` (string): `auto`, `transparent` or `opaque`. Default `auto`. A transparent background requires `png` or `webp` output. * `output_format` (string): `png`, `jpeg` or `webp`. Default `png`. * `output_compression` (integer): Compression level from `0` to `100`. Only allowed when `output_format` is `jpeg` or `webp`. When omitted, the default compression applies. * `moderation` (string): Content moderation strictness, `auto` or `low`. Default `auto`; `low` applies less restrictive filtering. * `complexity` (string): Planning effort the model spends before generating, `low`, `medium` or `high`. Default `high`. Does not change the price. ## Size * Presets: `1:1`, `2:3`, `3:2`, `4:3`, `3:4`, `4:5`, `5:4`, `16:9`, `9:16`, `21:9`. When `size` is omitted, the output is `1:1` at the selected `resolution`. * Presets keep the selected `resolution` tier; actual pixel dimensions may vary between generations. Use a custom size when you need exact pixels. * `auto` lets the model choose the size (about 1.5 megapixels). It works with any `resolution` and is billed at the `1K` tier. * Custom `WIDTHxHEIGHT` (use `x` or `X`, for example `2304x1536`) works with any `resolution`. Both edges must be multiples of 16, the longest edge must not exceed 3,840 pixels, the aspect ratio must not exceed 3:1, and total pixels must be between 655,360 and 8,294,400. * A custom size is billed at the tier that matches its total pixels, or at the selected `resolution` if that is higher: | Total pixels (custom size) | Billing tier | | - | - | | Up to 1,572,864 | `1K` | | 1,572,865–4,194,304 | `2K` | | Above 4,194,304 | `4K` | ## Examples * **Generate one image**: a studio product photo, `1:1`, `1K`, with a `callback_url`. * **Transparent asset**: a cutout with `background: transparent`, WebP, `4K`, `xhigh` quality. * **Custom size**: a panoramic scene at `2304x1536`, `2K`, `medium` quality. * **Compressed JPEG**: `3:2`, `medium` quality, `output_format: jpeg`, `output_compression: 80`. ## Notes * Each request returns exactly one image; `n` other than `1` returns 400. Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * A transparent background with `output_format: jpeg` returns 400. `output_compression` with `output_format: png` also returns 400. * Credits depend on `quality` and the billing tier (`resolution`, or the custom-size tier described in [Size](#size)). `complexity` and `moderation` do not change the price. The per-image maximum is reserved at submission; when the task finishes you are charged for actual token usage, up to that maximum, and the rest is refunded. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. # Ideogram 4.5 Edit Source: https://docs.vidgo.ai/api-manual/image-series/ideogram-v4-5-edit api-manual/image-series/ideogram-v4-5-edit.json POST /api/generate/submit The Ideogram 4.5 Edit API edits one image from a text instruction, with an optional mask, up to 4 reference images and regular or high edit precision. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Ideogram 4.5 Edit changes one existing image from a written instruction. Restrict the edit to a masked area, guide it with up to four reference images, and choose `high` edit precision when the untouched parts must stay pixel-exact. Typical uses are swapping products or signage text, retouching backgrounds and producing variants of a design. Ideogram says the model avoids the colour drift and artifacts that build up over repeated edits. Ideogram 4.5 is Ideogram's image model for text-heavy visuals and precise edits. Vidgo exposes it as two model IDs: [Text to Image](/api-manual/image-series/ideogram-v4-5-text-to-image) and [Edit](/api-manual/image-series/ideogram-v4-5-edit). ## Models * **ideogram/v4.5/edit** — Image edit with Ideogram 4.5: one source image, optional mask and references. ## Features * Image edit from a natural-language instruction, including replacing text in the image. * Optional mask to limit the edit to one area. * Up to 4 reference images for style or content (3 when a mask is used). * `edit_precision: high` for edits that keep everything else unchanged. * Four quality tiers, including `very_low` for cheap drafts, and 1–8 results per request. ## Input modes * **Instruction edit**: `image_urls` + `prompt`. The model decides which area to change. * **Masked edit**: add `mask_url` (black = edit, white = keep) and keep `size: auto`. * Either mode can add `reference_image_urls`. ## Required parameters * `prompt` (string): What to change and how, 1–10,000 characters. Must not be blank. * `image_urls` (string\[]): Exactly one image to edit. Public HTTP(S) URL or `data:image/...;base64,...` data URI. ## Optional parameters * `mask_url` (string): Mask the same size as the source image, containing both black (edit) and white (keep). Requires `size: auto`. * `reference_image_urls` (string\[]): Up to 4 reference images, or up to 3 with `mask_url`. They guide the result and are not edited. * `edit_precision` (string): `regular` or `high`. Default `regular`. `high` requires `size: auto`. * `quality` (string): `very_low`, `low`, `medium` or `high`. Default `medium`. * `n` (integer): Number of results, `1`–`8`. Default `1`. * `size` (string): Output size. Default `auto`. See [Size](#size). ## Size * `auto` (default) keeps the source image's dimensions. It is required when you send `mask_url` or `edit_precision: high`. * Presets: `1:1`, `1:1 HD`, `4:3`, `3:4`, `16:9`, `9:16`. * Custom `WIDTHxHEIGHT`, for example `1536x1024`: each side at least 256 and a multiple of 32, at most 4,194,304 pixels in total (2048x2048), and an aspect ratio no wider than 6:1. ## Output The finished task returns one file per requested image (`n`) in the `files` array of [Query Task Status](/api-manual/task-management/status) and the callback payload. ## Examples * **Instruction-only edit**: change the text on a shop sign, `size: auto`, `medium` quality. * **Masked edit with a reference and high precision**: a sofa mask plus an armchair reference image, `edit_precision: high`, `quality: high`, with a `callback_url`. ## Notes * `image_urls` must contain exactly one image. To create an image from scratch, use [Ideogram 4.5 Text to Image](/api-manual/image-series/ideogram-v4-5-text-to-image). * A `mask_url` or `edit_precision: high` with any `size` other than `auto` returns 400, and so do four references together with a mask. * Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * Credits are reserved at submission and depend on `quality` and `n` only; `size`, the mask and references do not change the price. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. # Ideogram 4.5 Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/ideogram-v4-5-text-to-image api-manual/image-series/ideogram-v4-5-text-to-image.json POST /api/generate/submit The Ideogram 4.5 Text to Image API generates 1–8 posters, logos and text-rich images per request, with low, medium or high quality and 42 sizes. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Ideogram 4.5 Text to Image turns a prompt into posters, logos, packaging mockups, social graphics and other images where legible lettering matters. Request up to eight images at once and pick a quality tier that fits a draft or a final asset. Ideogram 4.5 is Ideogram's image model for text-heavy visuals and precise edits. Vidgo exposes it as two model IDs: [Text to Image](/api-manual/image-series/ideogram-v4-5-text-to-image) and [Edit](/api-manual/image-series/ideogram-v4-5-edit). ## Models * **ideogram/v4.5/text-to-image** — Text-to-image with Ideogram 4.5, 1–8 images per request. ## Features * Text-to-image focused on accurate in-image text (titles, slogans, labels). * 1–8 images per request with `n`. * Three quality tiers: `low`, `medium`, `high`. * Six aspect-ratio presets plus 36 exact pixel sizes, from 720x1280 up to 3328x1248 and 2048x2048. ## Required parameters * `prompt` (string): The image you want, 1–10,000 characters. Quote any text that must appear, for example `"GRAND OPENING"`. Must not be blank. ## Optional parameters * `n` (integer): Number of images, `1`–`8`. Default `1`. * `quality` (string): `low`, `medium` or `high`. Default `medium`. * `size` (string): Output size. Default `1:1 HD`. See [Size](#size). ## Size * Presets: `1:1`, `1:1 HD`, `4:3`, `3:4`, `16:9`, `9:16`. `1:1 HD` is a higher-resolution square. * Exact pixel sizes: `720x1280`, `720x1440`, `800x1280`, `832x1248`, `864x1152`, `896x1120`, `1024x1024`, `1024x3072`, `1120x896`, `1152x864`, `1152x2944`, `1248x832`, `1248x3328`, `1280x720`, `1280x800`, `1280x3072`, `1296x3168`, `1440x720`, `1440x2560`, `1440x2880`, `1600x2560`, `1664x2496`, `1728x2304`, `1792x2240`, `2048x2048`, `2240x1792`, `2304x1728`, `2496x1664`, `2560x1440`, `2560x1600`, `2880x1440`, `2944x1152`, `3072x1024`, `3072x1280`, `3168x1296`, `3328x1248`. * Any other value returns 400. ## Output The finished task returns one file per requested image (`n`) in the `files` array of [Query Task Status](/api-manual/task-management/status) and the callback payload. ## Examples * **Poster with lettering**: a travel poster whose title is quoted in the prompt, `3:4`, `medium` quality. * **Four high-quality logo options with callback**: `n: 4`, `quality: high`, `1024x1024`, with a `callback_url`. ## Notes * This ID takes text only. To change an existing image, use [Ideogram 4.5 Edit](/api-manual/image-series/ideogram-v4-5-edit). * Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * Credits are reserved at submission and depend on `quality` and `n` only; `size` does not change the price. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. # Ideogram Vector 1.0 Image to SVG Source: https://docs.vidgo.ai/api-manual/image-series/ideogram-vector-1-0-image-to-vector api-manual/image-series/ideogram-vector-1-0-image-to-vector.json POST /api/generate/submit The Ideogram Vector 1.0 Image to SVG API converts one PNG, JPG or WebP image into an editable SVG file, in default (detailed) or simple mode. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Ideogram Vector 1.0 Image to SVG converts a raster image, such as a PNG logo, a scanned sketch or a JPG illustration, into an SVG file you can scale and edit in a vector tool. Choose `default` mode for detail or `simple` mode for a cleaner, flatter result. No prompt is needed. Ideogram Vector 1.0 is Ideogram's first model that outputs vector graphics instead of pixels. Vidgo exposes it as two model IDs: [Text to SVG](/api-manual/image-series/ideogram-vector-1-0-text-to-vector) and [Image to SVG](/api-manual/image-series/ideogram-vector-1-0-image-to-vector). ## Models * **ideogram/vector-1.0/image-to-vector** — Image to SVG with Ideogram Vector 1.0: one image in, one SVG out. ## Features * Image-to-SVG vectorization of one image per request. * Two styles: `default` (finer detail) and `simple` (fewer shapes). * Accepts a public URL or an image data URI. ## Required parameters * `image_urls` (string\[]): Exactly one image (PNG, JPG or WebP recommended). Public HTTP(S) URL or `data:image/...;base64,...` data URI. ## Optional parameters * `mode` (string): `default` or `simple`. Default `default`. ## Output The finished task returns SVG files (`image/svg+xml`) in the `files` array of [Query Task Status](/api-manual/task-management/status) and the callback payload. Open them in any vector editor or embed them directly in a web page. ## Examples * **Vectorize a logo in default mode**: one PNG logo, `mode: default`. * **Simple mode with callback**: a JPG sketch, `mode: simple`, with a `callback_url`. ## Notes * This ID takes no `prompt`; sending one returns 400. To create new SVG artwork from text, use [Ideogram Vector 1.0 Text to SVG](/api-manual/image-series/ideogram-vector-1-0-text-to-vector). * `image_urls` must contain exactly one image. Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * Each request is billed at one flat rate per SVG; `mode` does not change the price. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. # Ideogram Vector 1.0 Text to SVG Source: https://docs.vidgo.ai/api-manual/image-series/ideogram-vector-1-0-text-to-vector api-manual/image-series/ideogram-vector-1-0-text-to-vector.json POST /api/generate/submit The Ideogram Vector 1.0 Text to SVG API creates 1–8 SVG files from a prompt, with up to 5 reference images, 18 aspect ratio options and three quality tiers. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Ideogram Vector 1.0 Text to SVG generates scalable SVG artwork from a prompt: logos, icons, stickers, badges and flat illustrations that stay sharp at any size. Lettering in the prompt is drawn as vector shapes. Add up to five reference images to steer style or composition. Ideogram Vector 1.0 is Ideogram's first model that outputs vector graphics instead of pixels. Vidgo exposes it as two model IDs: [Text to SVG](/api-manual/image-series/ideogram-vector-1-0-text-to-vector) and [Image to SVG](/api-manual/image-series/ideogram-vector-1-0-image-to-vector). ## Models * **ideogram/vector-1.0/text-to-vector** — Text to SVG with Ideogram Vector 1.0, 1–8 files per request. ## Features * Text-to-SVG: native vector output (`image/svg+xml`), not traced raster images. * Optional 1–5 reference images; the first one is the primary reference. * 18 aspect ratio options, from tall `1:4` to wide `4:1`, plus `auto`. * Three quality tiers and 1–8 SVG files per request. ## Required parameters * `prompt` (string): The artwork you want, 1–9,500 characters. Quote any lettering, for example `"TRAILHEAD"`. Must not be blank. ## Optional parameters * `image_urls` (string\[]): 1–5 reference images (public HTTP(S) URLs or image data URIs). Omit the field when you have none. * `quality` (string): `low`, `medium` or `high`. Default `medium`. * `n` (integer): Number of SVG files, `1`–`8`. Default `1`. * `size` (string): Aspect ratio. Default `auto`. See [Size](#size). ## Size `size` sets the aspect ratio, not a pixel size: `auto`, `1:1`, `1:4`, `1:3`, `1:2`, `9:16`, `10:16`, `2:3`, `3:4`, `4:5`, `5:4`, `4:3`, `3:2`, `16:10`, `16:9`, `2:1`, `3:1`, `4:1`. ## Output The finished task returns SVG files (`image/svg+xml`) in the `files` array of [Query Task Status](/api-manual/task-management/status) and the callback payload. Open them in any vector editor or embed them directly in a web page. ## Examples * **Prompt-only SVG icons**: two square icon sets at `medium` quality. * **Banner with a style reference and callback**: a `3:1` banner with quoted lettering, one brand reference image, `quality: high`, with a `callback_url`. ## Notes * To convert an existing raster image (PNG, JPG) into SVG, use [Ideogram Vector 1.0 Image to SVG](/api-manual/image-series/ideogram-vector-1-0-image-to-vector). * An empty `image_urls` array or more than five references returns 400. Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * Credits are reserved at submission and depend on `quality` and `n`. With `quality: high`, sending `image_urls` uses a higher per-file rate; `low` and `medium` cost the same with or without references. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. # Kling O1 Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/kwaivgi-kling-image-o1 api-manual/image-series/kwaivgi-kling-image-o1.json POST /api/generate/submit Edit images with Kling O1 using visual references and subject elements, with batch output and resolutions up to 2K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Edit images with Kling O1 using visual references and subject elements, with batch output and resolutions up to 2K. ## Models * **kwaivgi/kling-image-o1** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts 1-10 images in `image_urls`. * Choose from `1K`, `2K` output resolutions. * Supply additional subject references through `elements`. * Control the number of output images with `n`. ## Output Options ### Image Size * `size`: Optional. Accepted values: `auto`, `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3`, `21:9`. Default: `auto`. ### Resolution * `resolution`: Optional. Accepted values: `1K`, `2K`. Default: `1K`. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `9`. Default: `1`. ### Output Format * `output_format`: Optional. Accepted values: `jpeg`, `png`, `webp`. Default: `png`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the desired image. Length: **1-2,000 characters**. * The value must not be blank when supplied. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-10 items. Each item must be an HTTP(S) URL. A single URL string and Base64 inputs are not accepted. ### Subject Elements * `elements`: Optional array of subject-reference objects. Refer to them in the prompt as `@Element1`, `@Element2`, etc., in array order. Additional object properties are preserved. No element or additional-view count limit is specified. * `elements[].frontal_image_url`: Optional. Use a publicly accessible HTTP(S) URL. * `elements[].reference_image_urls`: Optional. Supply an array. Each item must be an HTTP(S) URL. ### Tested multi-image example ```json theme={null} { "model": "kwaivgi/kling-image-o1", "input": { "prompt": "Use image 1 as the flooded forest boardwalk scene to edit and image 2 only as the animal identity reference. Edit the scene in image 1 by adding exactly one adult Malayan tapir, the tapir from image 2, standing on the wide wooden deck in the left-center foreground. Preserve the exact tapir identity and anatomy from image 2: black head, neck and hindquarters, broad white saddle, short flexible snout and white-rimmed ears. The tapir faces left in three-quarter side view, pausing as if listening toward the flooded forest. Its full body must be visible, four feet planted naturally on the boardwalk, correct real-world scale, weight and soft contact shadows. Preserve the boardwalk structure, tree positions, floodwater reflections, original camera perspective and documentary photographic style. Match the soft green canopy daylight. Do not add people, other animals, accessories, text, logos or watermark.", "image_urls": [ "https://cdn.vidgo.ai/apis/models/kwaivgi/kling-image-o1/edit/v1/01/input-01.png", "https://cdn.vidgo.ai/apis/models/kwaivgi/kling-image-o1/edit/v1/01/input-02.png" ], "resolution": "2K", "size": "16:9", "output_format": "png", "n": 1 } } ``` ## Billing Factors Billing depends on output image count (`n`). Both supported resolutions use the same rate. Reference images and subject elements do not add charges. Credits are deducted on submission and refunded if the task fails. # Kling O3 Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/kwaivgi-kling-image-o3-edit api-manual/image-series/kwaivgi-kling-image-o3-edit.json POST /api/generate/submit Rework images with Kling O3 using multiple references and subject elements, with output up to 4K and support for visual variations. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Rework images with Kling O3 using multiple references and subject elements, with output up to 4K and support for visual variations. ## Models * **kwaivgi/kling-image-o3/edit** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts 1-10 images in `image_urls`. * Choose from `1K`, `2K`, `4K` output resolutions. * Supply additional subject references through `elements`. * Control the number of output images with `n`. ## Output Options ### Image Size * `size`: Optional. Accepted values: `auto`, `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3`, `21:9`. Default: `16:9`. ### Resolution * `resolution`: Optional. Accepted values: `1K`, `2K`, `4K`. Default: `1K`. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `9`. Default: `1`. Fractional values, strings, and booleans are rejected. ### Output Format * `output_format`: Optional. Accepted values: `jpeg`, `png`, `webp`. Default: `png`. ## Advanced Parameters Defaults apply only when an optional input field is omitted. Explicit `null` or empty-string values are rejected. An empty `elements` array is accepted. Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **1-2,000 characters**. * The value must not be blank when supplied. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-10 items. Each item must be an HTTP(S) URL. ### Subject Elements * `elements`: Optional. Provide subject-reference objects. Supply an array. Each item is an object. * `elements[].frontal_image_url`: Optional. Use a publicly accessible HTTP(S) URL. * `elements[].reference_image_urls`: Optional. Supply an array. Each item must be an HTTP(S) URL. Refer to subjects in the prompt as `@Element1`, `@Element2`, etc. Element objects may include additional fields; no element count limit is specified. ## Billing Factors Billing depends on output resolution (`resolution`) and output image count (`n`). Text-to-image and image editing use the same rates. Reference images and subject elements do not add charges. Credits are deducted on submission and refunded if the task fails. # Kling O3 Image Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/kwaivgi-kling-image-o3-text-to-image api-manual/image-series/kwaivgi-kling-image-o3-text-to-image.json POST /api/generate/submit Generate images up to 4K with Kling O3, creating multiple variations in a range of compositions and output formats. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate images up to 4K with Kling O3, creating multiple variations in a range of compositions and output formats. ## Models * **kwaivgi/kling-image-o3/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. * Choose from `1K`, `2K`, `4K` output resolutions. * Control the number of output images with `n`. ## Output Options ### Image Size * `size`: Optional. Accepted values: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3`, `21:9`. Default: `16:9`. ### Resolution * `resolution`: Optional. Accepted values: `1K`, `2K`, `4K`. Default: `1K`. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `9`. Default: `1`. Fractional values, strings, and booleans are rejected. ### Output Format * `output_format`: Optional. Accepted values: `jpeg`, `png`, `webp`. Default: `png`. ## Advanced Parameters Defaults apply only when an optional input field is omitted. Explicit `null` or empty-string values are rejected. An empty `elements` array is accepted. Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the desired image. Length: **1-2,000 characters**. * The value must not be blank when supplied. ### Subject Elements * `elements`: Optional array of subject-reference objects. Refer to them in the prompt as `@Element1`, `@Element2`, etc. * `elements[].frontal_image_url`: Optional public HTTP(S) URL for the main subject view. * `elements[].reference_image_urls`: Optional array of additional public HTTP(S) image URLs. * Element objects may include additional fields. No element count limit is specified. ## Billing Factors Billing depends on output resolution (`resolution`) and output image count (`n`). Text-to-image and image editing use the same rates. Reference images and subject elements do not add charges. Credits are deducted on submission and refunded if the task fails. # Nano Banana Pro Source: https://docs.vidgo.ai/api-manual/image-series/nano-banana-2 api-manual/image-series/nano-banana-2.json POST /api/generate/submit Next-generation AI image generation powered by Gemini 3 Pro Image Preview > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Next-generation AI image generation powered by Google's Gemini 3 Pro Image Preview. Delivers 2K native resolution images in under 1 second with enhanced text rendering, character consistency, and designer-grade quality. ## Models * **nano-banana-2** - Text-to-image and image-to-image generation * **nano-banana-2-edit** - Advanced image editing capabilities # Nano Banana 2.1 Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/nano-banana-2-1-edit api-manual/image-series/nano-banana-2-1-edit.json POST /api/generate/submit Edit one image with Nano Banana 2.1 using text instructions and reference images. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Optional parameters * `size` (string): Output aspect ratio. auto follows the reference image. Accepted values: `auto`, `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`. Default: `auto`. * `resolution` (string): Output resolution tier. Accepted values: `1K`, `2K`, `4K`. Default: `1K`. ## Usage Guide Edit one image with Nano Banana 2.1 using text instructions and reference images. * Set `model` to `google/nano-banana-2.1/edit`. * Place `model` and optional `callback_url` at the request root; place workflow parameters inside `input`. * Each request produces one image. * For prompt-only generation, use [Text to Image](/api-manual/image-series/nano-banana-2-1-text-to-image) with `model=google/nano-banana-2.1/text-to-image`. ## Parameter Details * `prompt` is required. Supply non-blank text of up to 20,000 characters. * `image_urls` is required and accepts 1 to 10 reference image URLs. Use publicly accessible HTTP(S) URLs in the same order as the references in your prompt. * `size` defaults to `auto`. `auto` follows the reference image aspect ratio. ## Billing Billing is per output image and depends on `resolution`. Text-to-image and editing use the same rate at each tier. Credits are deducted on submission and refunded if the task fails. # Nano Banana 2.1 Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/nano-banana-2-1-text-to-image api-manual/image-series/nano-banana-2-1-text-to-image.json POST /api/generate/submit Generate one image with Nano Banana 2.1 using a text prompt. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Optional parameters * `size` (string): Output aspect ratio. Accepted values: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`. Default: `1:1`. * `resolution` (string): Output resolution tier. Accepted values: `1K`, `2K`, `4K`. Default: `1K`. ## Usage Guide Generate one image with Nano Banana 2.1 using a text prompt. * Set `model` to `google/nano-banana-2.1/text-to-image`. * Place `model` and optional `callback_url` at the request root; place workflow parameters inside `input`. * Each request produces one image. * For reference-image editing, use [Image Edit](/api-manual/image-series/nano-banana-2-1-edit) with `model=google/nano-banana-2.1/edit`. ## Parameter Details * `prompt` is required. Supply non-blank text of up to 20,000 characters. * `size` defaults to `1:1`. ## Billing Billing is per output image and depends on `resolution`. Text-to-image and editing use the same rate at each tier. Credits are deducted on submission and refunded if the task fails. # Nano Banana 2 Source: https://docs.vidgo.ai/api-manual/image-series/nano-banana-2-new api-manual/image-series/nano-banana-2-new.json POST /api/generate/submit Next-generation AI image generation powered by Gemini 3.1 Flash Image Preview > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Next-generation AI image generation powered by Google's Gemini 3.1 Flash Image Preview. Delivers native 2K / 4K resolution images with precise multilingual text rendering, chain-of-thought understanding of physical relationships, and support for up to 14 reference images. ## Models * **nano-banana-2-new** - Text-to-image and image-to-image generation * **nano-banana-2-new-edit** - Advanced image editing capabilities # GPT Image 1.5 Edit Source: https://docs.vidgo.ai/api-manual/image-series/openai-gpt-image-1-5-edit api-manual/image-series/openai-gpt-image-1-5-edit.json POST /api/generate/submit Make targeted image changes with GPT Image 1.5 using text instructions, reference images, and optional masks for selected areas. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Make targeted image changes with GPT Image 1.5 using text instructions, reference images, and optional masks for selected areas. ## Models * **openai/gpt-image-1.5/edit** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts at least 1 image in `image_urls`. * Each editing request produces one image and is billed as one image. ## Output Options ### Image Size * `size`: Optional. Accepted values: `1024x1024`, `1024x1536`, `1536x1024`. Default: `1024x1024`. ### Image Count * `n`: Optional compatibility parameter. Accepted values: `1`, `2`, `3`, `4`. Default: `1`. Each edit request produces one image and is billed for one image; larger values do not increase the output count. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **1-1,000 characters**. * Include at least one non-whitespace character. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply at least 1 item. Each item must be an HTTP(S) URL. ### Mask URL * `mask_url`: Optional. Publicly accessible HTTP(S) URL of a mask image that selects the area to edit. # GPT Image 1.5 Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/openai-gpt-image-1-5-text-to-image api-manual/image-series/openai-gpt-image-1-5-text-to-image.json POST /api/generate/submit Turn written image concepts into square, portrait, or landscape visuals with GPT Image 1.5, with up to four variations per request. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Turn written image concepts into square, portrait, or landscape visuals with GPT Image 1.5, with up to four variations per request. ## Models * **openai/gpt-image-1.5/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. * Control the number of output images with `n`. ## Output Options ### Image Size * `size`: Optional. Accepted values: `1024x1024`, `1024x1536`, `1536x1024`. Default: `1024x1024`. ### Image Count * `n`: Optional. Number of images to generate. Accepted values: `1`, `2`, `3`, `4`. Default: `1`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. ### Prompt * `prompt`: Required. Describe the desired image. Length: **1-1,000 characters**. * Include at least one non-whitespace character. # Image Models Source: https://docs.vidgo.ai/api-manual/image-series/overview All image generation and editing models available on Vidgo API, with their model IDs. Every image model is called through `POST /api/generate/submit`. Send a model ID in `model`, the model's parameters in `input`, and an optional `callback_url`. The request returns a `task_id` right away and the task runs asynchronously. ## Workflow 1. Submit a task to `POST /api/generate/submit` with a model ID from the table below. 2. Poll [Get Task Status](/api-manual/task-management/status) with the returned `task_id`, or receive the result at `callback_url` (see [Webhook Callbacks](/api-manual/task-management/webhooks)). 3. Download the files in `files` when the status is `finished`. Most models expose one model ID per mode, such as `text-to-image` and `edit`. Edit IDs take input images; check each model page for its inputs. ## Models | Model | Provider | Model IDs | | - | - | - | | [GPT-4o Image](/api-manual/image-series/gpt-4o-image) | OpenAI | `gpt-4o-image` `gpt-4o-image-edit` | | [GPT Image 1.5 Text to Image](/api-manual/image-series/openai-gpt-image-1-5-text-to-image) | OpenAI | `openai/gpt-image-1.5/text-to-image` | | [GPT Image 1.5 Edit](/api-manual/image-series/openai-gpt-image-1-5-edit) | OpenAI | `openai/gpt-image-1.5/edit` | | [GPT Image 2](/api-manual/image-series/gpt-image-2) | OpenAI | `gpt-image-2` `gpt-image-2-edit` | | [GPT Image 2.5 Flare Text to Image](/api-manual/image-series/gpt-image-2-5-flare-text-to-image) | OpenAI | `openai/gpt-image-2.5-flare/text-to-image` | | [GPT Image 2.5 Flare Image Edit](/api-manual/image-series/gpt-image-2-5-flare-edit) | OpenAI | `openai/gpt-image-2.5-flare/edit` | | [GPT Image 2.5 Sunburst Text to Image](/api-manual/image-series/gpt-image-2-5-sunburst-text-to-image) | OpenAI | `openai/gpt-image-2.5-sunburst/text-to-image` | | [GPT Image 2.5 Sunburst Image Edit](/api-manual/image-series/gpt-image-2-5-sunburst-edit) | OpenAI | `openai/gpt-image-2.5-sunburst/edit` | | [GPT Image 2.6 Flare Text to Image](/api-manual/image-series/gpt-image-2-6-flare-text-to-image) | OpenAI | `openai/gpt-image-2.6-flare/text-to-image` | | [GPT Image 2.6 Flare Image Edit](/api-manual/image-series/gpt-image-2-6-flare-edit) | OpenAI | `openai/gpt-image-2.6-flare/edit` | | [GPT Image 2.6 Sunburst Text to Image](/api-manual/image-series/gpt-image-2-6-sunburst-text-to-image) | OpenAI | `openai/gpt-image-2.6-sunburst/text-to-image` | | [GPT Image 2.6 Sunburst Image Edit](/api-manual/image-series/gpt-image-2-6-sunburst-edit) | OpenAI | `openai/gpt-image-2.6-sunburst/edit` | | [Nano Banana Text to Image](/api-manual/image-series/google-nano-banana-text-to-image) | Google | `google/nano-banana/text-to-image` | | [Nano Banana Edit](/api-manual/image-series/google-nano-banana-edit) | Google | `google/nano-banana/edit` | | [Nano Banana Pro](/api-manual/image-series/nano-banana-2) | Google | `nano-banana-2` `nano-banana-2-edit` | | [Nano Banana 2](/api-manual/image-series/nano-banana-2-new) | Google | `nano-banana-2-new` `nano-banana-2-new-edit` | | [Nano Banana 2 Lite Text to Image](/api-manual/image-series/google-nano-banana-2-lite-text-to-image) | Google | `google/nano-banana-2-lite/edit` `google/nano-banana-2-lite/text-to-image` | | [Nano Banana 2 Lite Edit](/api-manual/image-series/google-nano-banana-2-lite-edit) | Google | `google/nano-banana-2-lite/edit` | | [Nano Banana 2.1 Text to Image](/api-manual/image-series/nano-banana-2-1-text-to-image) | Google | `google/nano-banana-2.1/text-to-image` | | [Nano Banana 2.1 Image Edit](/api-manual/image-series/nano-banana-2-1-edit) | Google | `google/nano-banana-2.1/edit` | | [Flux Schnell Text to Image](/api-manual/image-series/blackforestlabs-flux-schnell) | Flux | `blackforestlabs/flux/schnell` | | [Flux Dev Text to Image](/api-manual/image-series/blackforestlabs-flux-dev) | Flux | `blackforestlabs/flux/dev` | | [Flux Dev Image to Image](/api-manual/image-series/blackforestlabs-flux-dev-image-to-image) | Flux | `blackforestlabs/flux/dev/image-to-image` | | [Flux.2](/api-manual/image-series/flux-2) | Flux | `flux-2-flex` `flux-2-flex-edit` `flux-2-pro` `flux-2-pro-edit` | | [FLUX.2 Pro Text to Image](/api-manual/image-series/blackforestlabs-flux-2-pro-text-to-image) | Flux | `blackforestlabs/flux-2-pro/text-to-image` | | [FLUX.2 Pro Edit](/api-manual/image-series/blackforestlabs-flux-2-pro-edit) | Flux | `blackforestlabs/flux-2-pro/edit` | | [FLUX.2 Flex Text to Image](/api-manual/image-series/blackforestlabs-flux-2-flex-text-to-image) | Flux | `blackforestlabs/flux-2-flex/text-to-image` | | [FLUX.2 Flex Edit](/api-manual/image-series/blackforestlabs-flux-2-flex-edit) | Flux | `blackforestlabs/flux-2-flex/edit` | | [Flux Kontext Pro Text to Image](/api-manual/image-series/blackforestlabs-flux-kontext-pro-text-to-image) | Flux | `blackforestlabs/flux-kontext-pro/text-to-image` | | [Flux Kontext Pro Edit](/api-manual/image-series/blackforestlabs-flux-kontext-pro) | Flux | `blackforestlabs/flux-kontext-pro` | | [Flux Kontext Max Text to Image](/api-manual/image-series/blackforestlabs-flux-kontext-max-text-to-image) | Flux | `blackforestlabs/flux-kontext-max/text-to-image` | | [Flux Kontext Max Edit](/api-manual/image-series/blackforestlabs-flux-kontext-max) | Flux | `blackforestlabs/flux-kontext-max` | | [FLUX 3 Klein Text to Image](/api-manual/image-series/blackforestlabs-flux-3-klein-text-to-image) | Flux | `blackforestlabs/flux-3-klein/text-to-image` | | [FLUX 3 Klein Edit](/api-manual/image-series/blackforestlabs-flux-3-klein-edit) | Flux | `blackforestlabs/flux-3-klein/edit` | | [Seedream-4](/api-manual/image-series/seedream-4) | Seedream | `seedream-4` `seedream-4-edit` `seedream-v4` `seedream-v4-edit` | | [Seedream 4 Text to Image](/api-manual/image-series/bytedance-seedream-v4-text-to-image) | Seedream | `bytedance/seedream/v4/text-to-image` | | [Seedream 4 Edit](/api-manual/image-series/bytedance-seedream-v4-edit) | Seedream | `bytedance/seedream/v4/edit` | | [Seedream 4.5 Text to Image](/api-manual/image-series/bytedance-seedream-v4-5-text-to-image) | Seedream | `bytedance/seedream/v4.5/text-to-image` | | [Seedream 4.5 Edit](/api-manual/image-series/bytedance-seedream-v4-5-edit) | Seedream | `bytedance/seedream/v4.5/edit` | | [Seedream 5.0 Lite Text to Image](/api-manual/image-series/bytedance-seedream-v5-lite-text-to-image) | Seedream | `bytedance/seedream/v5/lite/text-to-image` | | [Seedream 5.0 Lite Edit](/api-manual/image-series/bytedance-seedream-v5-lite-edit) | Seedream | `bytedance/seedream/v5/lite/edit` | | [Seedream 5.0 Pro Text to Image](/api-manual/image-series/seedream-v5-0-pro) | Seedream | `seedream-v5.0-pro` | | [Seedream 5.0 Pro Image Edit](/api-manual/image-series/seedream-v5-0-pro-edit) | Seedream | `seedream-v5.0-pro/edit` | | [Seedream 5.0 Flash Text to Image](/api-manual/image-series/seedream-v5-0-flash) | Seedream | `bytedance/seedream-v5.0-flash/text-to-image` | | [Seedream 5.0 Flash Image Edit](/api-manual/image-series/seedream-v5-0-flash-edit) | Seedream | `bytedance/seedream-v5.0-flash/edit` | | [Kling O1 Image Edit](/api-manual/image-series/kwaivgi-kling-image-o1) | Kling | `kwaivgi/kling-image-o1` | | [Kling O3 Image Text to Image](/api-manual/image-series/kwaivgi-kling-image-o3-text-to-image) | Kling | `kwaivgi/kling-image-o3/text-to-image` | | [Kling O3 Image Edit](/api-manual/image-series/kwaivgi-kling-image-o3-edit) | Kling | `kwaivgi/kling-image-o3/edit` | | [Qwen Image 2.1 Text to Image](/api-manual/image-series/qwen-image-2-1-text-to-image) | Alibaba | `alibaba/qwen-image-2.1/text-to-image` | | [Qwen Image 2.1 Image Edit](/api-manual/image-series/qwen-image-2-1-edit) | Alibaba | `alibaba/qwen-image-2.1/edit` | | [Qwen Image 3.0 Text to Image](/api-manual/image-series/qwen-image-3-0-text-to-image) | Alibaba | `qwen-image-3.0/text-to-image` | | [Qwen Image 3.0 Image Edit](/api-manual/image-series/qwen-image-3-0-edit) | Alibaba | `qwen-image-3.0/edit` | | [Qwen Image 3.0 Pro Text to Image](/api-manual/image-series/qwen-image-3-0-pro-text-to-image) | Alibaba | `qwen-image-3.0-pro/text-to-image` | | [Qwen Image 3.0 Pro Image Edit](/api-manual/image-series/qwen-image-3-0-pro-edit) | Alibaba | `qwen-image-3.0-pro/edit` | | [Wan 2.7 Image Text to Image](/api-manual/image-series/alibaba-wan-2-7-text-to-image) | Alibaba | `alibaba/wan-2.7/text-to-image` | | [Wan 2.7 Image Edit](/api-manual/image-series/alibaba-wan-2-7-image-edit) | Alibaba | `alibaba/wan-2.7/image-edit` | | [Wan 2.7 Pro Text to Image](/api-manual/image-series/alibaba-wan-2-7-text-to-image-pro) | Alibaba | `alibaba/wan-2.7/text-to-image-pro` | | [Wan 2.7 Pro Image Edit](/api-manual/image-series/alibaba-wan-2-7-image-edit-pro) | Alibaba | `alibaba/wan-2.7/image-edit-pro` | | [Z-Image Turbo](/api-manual/image-series/alibaba-z-image-turbo) | Alibaba | `alibaba/z-image/turbo` | | [Grok Imagine Text to Image](/api-manual/image-series/xai-grok-imagine-image-text-to-image) | Grok (xAI) | `xai/grok-imagine-image/text-to-image` | | [Grok Imagine Edit](/api-manual/image-series/xai-grok-imagine-image-edit) | Grok (xAI) | `xai/grok-imagine-image/edit` | | [Grok Imagine Image 2.0 Text to Image](/api-manual/image-series/xai-grok-imagine-image-v2-0-text-to-image) | Grok (xAI) | `xai/grok-imagine-image-v2.0/text-to-image` | | [Grok Imagine Image 2.0 Edit](/api-manual/image-series/xai-grok-imagine-image-v2-0-edit) | Grok (xAI) | `xai/grok-imagine-image-v2.0/edit` | | [Grok Imagine Image Quality Text to Image](/api-manual/image-series/xai-grok-imagine-image-quality-text-to-image) | Grok (xAI) | `xai/grok-imagine-image-quality/text-to-image` | | [Grok Imagine Image Quality Edit](/api-manual/image-series/xai-grok-imagine-image-quality-edit) | Grok (xAI) | `xai/grok-imagine-image-quality/edit` | | [Ideogram 4.5 Text to Image](/api-manual/image-series/ideogram-v4-5-text-to-image) | Ideogram | `ideogram/v4.5/text-to-image` | | [Ideogram 4.5 Edit](/api-manual/image-series/ideogram-v4-5-edit) | Ideogram | `ideogram/v4.5/edit` | | [Ideogram Vector 1.0 Text to SVG](/api-manual/image-series/ideogram-vector-1-0-text-to-vector) | Ideogram | `ideogram/vector-1.0/text-to-vector` | | [Ideogram Vector 1.0 Image to SVG](/api-manual/image-series/ideogram-vector-1-0-image-to-vector) | Ideogram | `ideogram/vector-1.0/image-to-vector` | ## Notes * Each model page lists the parameters, limits, and modes for its model IDs. Parameters are not shared across models. * Generated files are valid for 24 hours after creation. Download and store them promptly. * URL inputs must be publicly accessible HTTP(S) URLs. To use local files, upload them first with [File Management](/api-manual/file-series/upload-url). # Qwen Image 2.1 Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/qwen-image-2-1-edit api-manual/image-series/qwen-image-2-1-edit.json POST /api/generate/submit Edit one image with Qwen Image 2.1 using text instructions and reference images. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Optional parameters * `size` (string): Output aspect ratio. auto follows the reference image. Ignored when mask\_url is supplied. Accepted values: `1:1`, `4:3`, `3:4`, `3:2`, `2:3`, `16:9`, `9:16`, `21:9`, `9:21`, `auto`. Default: `auto`. * `resolution` (string): Output resolution tier. Accepted values: `1K`, `2K`. Default: `1K`. * `output_format` (string): Output image format. Transparent output requires PNG or WebP. Accepted values: `png`, `jpeg`, `webp`. Default: `png`. * `enable_safety_checker` (boolean): Enable content safety checking. Default: `true`. * `background` (string): Background mode. Transparent output requires PNG or WebP. Accepted values: `opaque`, `transparent`. Default: `opaque`. * `mask_url` (string): Optional local-edit mask. Requires exactly one reference image and an opaque background. White areas change and black areas stay unchanged. Match the reference aspect ratio; the mask is scaled to the reference. size and prompt\_extend are ignored. * `prompt_extend` (boolean): Enhance the prompt before generation. Ignored when mask\_url is supplied. Default: `true`. * `seed` (integer): Optional random seed. Omit to use a random seed. ## Usage Guide Edit one image with Qwen Image 2.1 using text instructions and reference images. * Set `model` to `alibaba/qwen-image-2.1/edit`. * Place `model` and optional `callback_url` at the request root; place workflow parameters inside `input`. * Each request produces one image. * For prompt-only generation, use [Text to Image](/api-manual/image-series/qwen-image-2-1-text-to-image) with `model=alibaba/qwen-image-2.1/text-to-image`. ## Parameter Details * `prompt` is required. Supply non-blank text of up to 5,000 characters. * `image_urls` is required and accepts 1 to 10 reference image URLs. Use publicly accessible HTTP(S) URLs in the same order as the references in your prompt. * `size` defaults to `auto`. `auto` follows the reference image aspect ratio. * A transparent background requires `output_format=png` or `webp`. * `mask_url` requires exactly one reference image and `background=opaque`. White areas change; black areas stay unchanged. Match the reference aspect ratio; the mask is scaled to the reference dimensions. * With a mask, output follows the reference aspect ratio; `size` and `prompt_extend` are ignored. * Reference images support JPEG, PNG, and WebP, up to 30 MB and 25 megapixels per image. Media limits are checked during generation. ## Billing Billing is per output image and depends on `resolution`. Text-to-image and editing use the same rate at each tier. Credits are deducted on submission and refunded if the task fails. # Qwen Image 2.1 Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/qwen-image-2-1-text-to-image api-manual/image-series/qwen-image-2-1-text-to-image.json POST /api/generate/submit Generate one image with Qwen Image 2.1 using a text prompt. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Optional parameters * `size` (string): Output aspect ratio. Accepted values: `1:1`, `4:3`, `3:4`, `3:2`, `2:3`, `16:9`, `9:16`, `21:9`, `9:21`. Default: `1:1`. * `resolution` (string): Output resolution tier. Accepted values: `1K`, `2K`. Default: `1K`. * `output_format` (string): Output image format. Transparent output requires PNG or WebP. Accepted values: `png`, `jpeg`, `webp`. Default: `png`. * `enable_safety_checker` (boolean): Enable content safety checking. Default: `true`. * `background` (string): Background mode. Transparent output requires PNG or WebP. Accepted values: `opaque`, `transparent`. Default: `opaque`. * `prompt_extend` (boolean): Enhance the prompt before generation. Default: `true`. * `seed` (integer): Optional random seed. Omit to use a random seed. ## Usage Guide Generate one image with Qwen Image 2.1 using a text prompt. * Set `model` to `alibaba/qwen-image-2.1/text-to-image`. * Place `model` and optional `callback_url` at the request root; place workflow parameters inside `input`. * Each request produces one image. * For reference-image editing, use [Image Edit](/api-manual/image-series/qwen-image-2-1-edit) with `model=alibaba/qwen-image-2.1/edit`. ## Parameter Details * `prompt` is required. Supply non-blank text of up to 5,000 characters. * `size` defaults to `1:1`. * A transparent background requires `output_format=png` or `webp`. ## Billing Billing is per output image and depends on `resolution`. Text-to-image and editing use the same rate at each tier. Credits are deducted on submission and refunded if the task fails. # Qwen Image 3.0 Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/qwen-image-3-0-edit api-manual/image-series/qwen-image-3-0-edit.json POST /api/generate/submit Qwen Image 3 standard reference-image editing model with 1K and 2K output > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. This model supports reference-image editing for posters, product visuals, typography, and natural-language creative tasks. ## Models * **qwen-image-3.0/edit** - Standard reference-image editing with 1K and 2K output ## Parameters * `prompt` is required and supports up to 5,000 characters. * `size` supports `1:1`, `3:2`, `2:3`, `4:3`, `3:4`, `16:9`, `9:16`, and `21:9`. * `resolution` supports `1K` and `2K`. * `output_format` supports `png` and `jpeg`. * `prompt_extend` controls automatic prompt enhancement. * `negative_prompt` describes content that should not appear in the output. * `seed` accepts values from 0 to 2,147,483,647. * `enable_safety_checker` controls content safety checking. * `image_urls` is required. * Billing is per output image, with an additional usage charge for each input image. ## Reference-Image Example ```json theme={null} { "model": "qwen-image-3.0/edit", "callback_url": "https://your-domain.com/callback", "input": { "prompt": "A cinematic scene with natural lighting and coherent motion", "resolution": "1K", "size": "1:1", "image_urls": [ "https://cdn.vidgo.ai/temp/reference-1.jpg" ] } } ``` # Qwen Image 3.0 Pro Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/qwen-image-3-0-pro-edit api-manual/image-series/qwen-image-3-0-pro-edit.json POST /api/generate/submit Qwen Image 3 higher-quality reference-image editing model with 1K and 2K output > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. This model supports reference-image editing for posters, product visuals, typography, and natural-language creative tasks. ## Models * **qwen-image-3.0-pro/edit** - Higher-quality reference-image editing with 1K and 2K output ## Parameters * `prompt` is required and supports up to 5,000 characters. * `size` supports `1:1`, `3:2`, `2:3`, `4:3`, `3:4`, `16:9`, `9:16`, and `21:9`. * `resolution` supports `1K` and `2K`. * `output_format` supports `png` and `jpeg`. * `prompt_extend` controls automatic prompt enhancement. * `negative_prompt` describes content that should not appear in the output. * `seed` accepts values from 0 to 2,147,483,647. * `enable_safety_checker` controls content safety checking. * `image_urls` is required. * Billing is per output image; resolution and the number of input images can affect the current model price. ## Reference-Image Example ```json theme={null} { "model": "qwen-image-3.0-pro/edit", "callback_url": "https://your-domain.com/callback", "input": { "prompt": "A cinematic scene with natural lighting and coherent motion", "resolution": "1K", "size": "1:1", "image_urls": [ "https://cdn.vidgo.ai/temp/reference-1.jpg" ] } } ``` # Qwen Image 3.0 Pro Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/qwen-image-3-0-pro-text-to-image api-manual/image-series/qwen-image-3-0-pro-text-to-image.json POST /api/generate/submit Qwen Image 3 higher-quality text-to-image generation model with 1K and 2K output > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. This model supports text-to-image generation for posters, product visuals, typography, and natural-language creative tasks. ## Models * **qwen-image-3.0-pro/text-to-image** - Higher-quality text-to-image generation with 1K and 2K output ## Parameters * `prompt` is required and supports up to 5,000 characters. * `size` supports `1:1`, `3:2`, `2:3`, `4:3`, `3:4`, `16:9`, `9:16`, and `21:9`. * `resolution` supports `1K` and `2K`. * `output_format` supports `png` and `jpeg`. * `prompt_extend` controls automatic prompt enhancement. * `negative_prompt` describes content that should not appear in the output. * `seed` accepts values from 0 to 2,147,483,647. * `enable_safety_checker` controls content safety checking. * Billing is per output image, and resolution can affect the current model price. ## Text-to-Image Example ```json theme={null} { "model": "qwen-image-3.0-pro/text-to-image", "callback_url": "https://your-domain.com/callback", "input": { "prompt": "A cinematic scene with natural lighting and coherent motion", "resolution": "1K", "size": "1:1" } } ``` # Qwen Image 3.0 Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/qwen-image-3-0-text-to-image api-manual/image-series/qwen-image-3-0-text-to-image.json POST /api/generate/submit Qwen Image 3 standard text-to-image generation model with 1K and 2K output > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. This model supports text-to-image generation for posters, product visuals, typography, and natural-language creative tasks. ## Models * **qwen-image-3.0/text-to-image** - Standard text-to-image generation with 1K and 2K output ## Parameters * `prompt` is required and supports up to 5,000 characters. * `size` supports `1:1`, `3:2`, `2:3`, `4:3`, `3:4`, `16:9`, `9:16`, and `21:9`. * `resolution` supports `1K` and `2K`. * `output_format` supports `png` and `jpeg`. * `prompt_extend` controls automatic prompt enhancement. * `negative_prompt` describes content that should not appear in the output. * `seed` accepts values from 0 to 2,147,483,647. * `enable_safety_checker` controls content safety checking. * Billing is per output image using the current model price. ## Text-to-Image Example ```json theme={null} { "model": "qwen-image-3.0/text-to-image", "callback_url": "https://your-domain.com/callback", "input": { "prompt": "A cinematic scene with natural lighting and coherent motion", "resolution": "1K", "size": "1:1" } } ``` # Seedream-4 Source: https://docs.vidgo.ai/api-manual/image-series/seedream-4 api-manual/image-series/seedream-4.json POST /api/generate/submit Image generation model powered by ByteDance Seedream-4 with support for text-to-image and image editing > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Seedream-4 is powered by ByteDance Seedream-4. It supports both text-to-image generation and image editing through the same unified submit endpoint. ## Models * **seedream-4** - Text-to-image generation, optionally with reference images * **seedream-4-edit** - Image editing mode. `image_urls` is required * **seedream-v4** / **seedream-v4-edit** - Legacy aliases of `seedream-4` / `seedream-4-edit` with the same parameters and pricing ## Workflow IDs Existing IDs remain available. New integrations can select a dedicated workflow: * [bytedance/seedream/v4/text-to-image](/api-manual/image-series/bytedance-seedream-v4-text-to-image) * [bytedance/seedream/v4/edit](/api-manual/image-series/bytedance-seedream-v4-edit) ## Notes * `size` maps to aspect ratio and supports `1:1`, `3:4`, `4:3`, `16:9`, `9:16`, `3:2`, `2:3`, `21:9` * `resolution` supports `1K`, `2K`, `4K`, with default `2K` * `n` supports `1-15` * The total of `image_urls` plus `n` must not exceed `15` * Credits are pre-deducted as `base credits * n`. If fewer images are returned than requested, the unused portion is refunded automatically # Seedream 5.0 Flash Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/seedream-v5-0-flash api-manual/image-series/seedream-v5-0-flash.json POST /api/generate/submit Generate one image with Seedream 5.0 Flash using a text prompt. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Optional parameters * `size` (string): Output aspect ratio. Accepted values: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `2:3`, `3:2`, `21:9`. Default: `1:1`. * `resolution` (string): Output resolution tier. Accepted values: `1K`, `1.5K`, `2K`. Default: `1K`. * `output_format` (string): Output image format. Accepted values: `jpeg`, `png`. If omitted, the model selects the format. * `enable_safety_checker` (boolean): Enable content safety checking. Default: `true`. ## Usage Guide Generate one image with Seedream 5.0 Flash using a text prompt. * Set `model` to `bytedance/seedream-v5.0-flash/text-to-image`. * Place `model` and optional `callback_url` at the request root; place workflow parameters inside `input`. * Each request produces one image. * For reference-image editing, use [Image Edit](/api-manual/image-series/seedream-v5-0-flash-edit) with `model=bytedance/seedream-v5.0-flash/edit`. ## Parameter Details * `prompt` is required. Supply non-blank text of up to 5,000 characters. ## Billing Billing is per output image. Text-to-image and editing use the same rate across the supported resolution tiers. Credits are deducted on submission and refunded if the task fails. # Seedream 5.0 Flash Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/seedream-v5-0-flash-edit api-manual/image-series/seedream-v5-0-flash-edit.json POST /api/generate/submit Edit one image with Seedream 5.0 Flash using text instructions and reference images. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Optional parameters * `size` (string): Output aspect ratio. Accepted values: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `2:3`, `3:2`, `21:9`. Default: `1:1`. * `resolution` (string): Output resolution tier. Accepted values: `1K`, `1.5K`, `2K`. Default: `1K`. * `output_format` (string): Output image format. Accepted values: `jpeg`, `png`. If omitted, the model selects the format. * `enable_safety_checker` (boolean): Enable content safety checking. Default: `true`. ## Usage Guide Edit one image with Seedream 5.0 Flash using text instructions and reference images. * Set `model` to `bytedance/seedream-v5.0-flash/edit`. * Place `model` and optional `callback_url` at the request root; place workflow parameters inside `input`. * Each request produces one image. * For prompt-only generation, use [Text to Image](/api-manual/image-series/seedream-v5-0-flash) with `model=bytedance/seedream-v5.0-flash/text-to-image`. ## Parameter Details * `prompt` is required. Supply non-blank text of up to 5,000 characters. * `image_urls` is required and accepts 1 to 10 reference image URLs. Use publicly accessible HTTP(S) URLs in the same order as the references in your prompt. ## Billing Billing is per output image. Text-to-image and editing use the same rate across the supported resolution tiers. Credits are deducted on submission and refunded if the task fails. # Seedream 5.0 Pro Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/seedream-v5-0-pro api-manual/image-series/seedream-v5-0-pro.json POST /api/generate/submit Flagship Seedream text-to-image model with precise prompt following, layout control, and multilingual typography > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Seedream 5.0 Pro is designed for complex prompts, structured layouts, multilingual typography, and product visuals. ## Models * **seedream-v5.0-pro** - Flagship text-to-image generation ## Size Parameter `input.size` controls the output aspect ratio and defaults to `1:1`: * Ratio presets: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `2:3`, `3:2`, `21:9` ## Resolution Parameter `input.resolution` controls output resolution and defaults to `1K`: * Resolution presets: `1K`, `2K` ## Pricing Each request generates one image and uses the current Seedream 5.0 Pro model price. ## How to Call Use the unified submit endpoint: `POST /api/generate/submit` ```json theme={null} { "model": "seedream-v5.0-pro", "callback_url": "https://your-domain.com/callback", "input": { "prompt": "A cinematic scene with natural lighting and coherent motion", "resolution": "1K", "size": "1:1" } } ``` # Seedream 5.0 Pro Image Edit Source: https://docs.vidgo.ai/api-manual/image-series/seedream-v5-0-pro-edit api-manual/image-series/seedream-v5-0-pro-edit.json POST /api/generate/submit Flagship Seedream image editing model with precise prompt following and multi-image reference control > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Seedream 5.0 Pro Edit applies controlled changes using up to ten reference images while preserving requested visual details. ## Models * **seedream-v5.0-pro/edit** - Image editing with multi-image reference support ## Size Parameter `input.size` controls the output aspect ratio and defaults to `1:1`: * Ratio presets: `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `2:3`, `3:2`, `21:9` ## Resolution Parameter `input.resolution` controls output resolution and defaults to `1K`: * Resolution presets: `1K`, `2K` ## Pricing Each request generates one image and uses the current Seedream 5.0 Pro model price. ## How to Call Use the unified submit endpoint: `POST /api/generate/submit` ```json theme={null} { "model": "seedream-v5.0-pro/edit", "callback_url": "https://your-domain.com/callback", "input": { "prompt": "A cinematic scene with natural lighting and coherent motion", "resolution": "1K", "size": "1:1", "image_urls": [ "https://cdn.vidgo.ai/temp/reference-1.jpg" ] } } ``` # Grok Imagine Edit Source: https://docs.vidgo.ai/api-manual/image-series/xai-grok-imagine-image-edit api-manual/image-series/xai-grok-imagine-image-edit.json POST /api/generate/submit Reimagine an existing image with Grok Imagine, using text to guide changes to the subject, setting, or visual style. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Reimagine an existing image with Grok Imagine, using text to guide changes to the subject, setting, or visual style. ## Models * **xai/grok-imagine-image/edit** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts exactly 1 image in `image_urls`. ## Output Options ### Image Size * `size`: Optional. Accepted values: `1:1`, `2:3`, `3:2`, `9:16`, `16:9`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Use the input fields listed below. Supply publicly accessible HTTP(S) URLs for reference images. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **1-5,000 characters**. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply exactly 1 item. Use JPEG, PNG, or WebP, up to 10 MB. # Grok Imagine Image Quality Edit Source: https://docs.vidgo.ai/api-manual/image-series/xai-grok-imagine-image-quality-edit api-manual/image-series/xai-grok-imagine-image-quality-edit.json POST /api/generate/submit Develop new image variations with Grok Imagine Image Quality, combining text instructions and visual references in output up to 2K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Develop new image variations with Grok Imagine Image Quality, combining text instructions and visual references in output up to 2K. ## Models * **xai/grok-imagine-image-quality/edit** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts 1-3 images in `image_urls`. * Choose from `1K`, `2K` output resolutions. * Control the number of output images with `n`. ## Output Options ### Aspect Ratio * `aspect_ratio`: Optional. Accepted values: `1:1`, `2:3`, `3:2`, `9:16`, `16:9`. Default: `1:1`. ### Resolution * `resolution`: Optional. Accepted values: `1K`, `2K`. Default: `1K`. ### Image Count * `n`: Optional. Number of images to generate. Integer, at least `1`. Default: `1`. No maximum is specified; fractional numbers, strings, and booleans are rejected. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the requested changes. Minimum length: **1 character**. * The value must be a string and must not be blank. No maximum prompt length is specified. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-3 items. Each item must be an HTTP(S) URL. ## Billing Factors Billing depends on output resolution (`resolution`) and output image count (`n`). Reference image count (`image_urls`) adds a separate input charge once per request; this charge is not multiplied by `n`. Credits are deducted on submission and refunded if the task fails. # Grok Imagine Image Quality Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/xai-grok-imagine-image-quality-text-to-image api-manual/image-series/xai-grok-imagine-image-quality-text-to-image.json POST /api/generate/submit Create image variations in 1K or 2K with Grok Imagine Image Quality, with framing options for portraits, landscapes, and square designs. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create image variations in 1K or 2K with Grok Imagine Image Quality, with framing options for portraits, landscapes, and square designs. ## Models * **xai/grok-imagine-image-quality/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. * Choose from `1K`, `2K` output resolutions. * Control the number of output images with `n`. ## Output Options ### Aspect Ratio * `aspect_ratio`: Optional. Accepted values: `1:1`, `2:3`, `3:2`, `9:16`, `16:9`. Default: `1:1`. ### Resolution * `resolution`: Optional. Accepted values: `1K`, `2K`. Default: `1K`. ### Image Count * `n`: Optional. Number of images to generate. Integer, at least `1`. Default: `1`. No maximum is specified; fractional numbers, strings, and booleans are rejected. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the desired image. Minimum length: **1 character**. * The value must be a string and must not be blank. No maximum prompt length is specified. ## Billing Factors Billing depends on output resolution (`resolution`) and output image count (`n`). Credits are deducted on submission and refunded if the task fails. # Grok Imagine Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/xai-grok-imagine-image-text-to-image api-manual/image-series/xai-grok-imagine-image-text-to-image.json POST /api/generate/submit Turn text prompts into images with Grok Imagine, exploring visual ideas in square, portrait, and landscape formats. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Turn text prompts into images with Grok Imagine, exploring visual ideas in square, portrait, and landscape formats. ## Models * **xai/grok-imagine-image/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. ## Output Options ### Image Size * `size`: Optional. Accepted values: `1:1`, `2:3`, `3:2`, `9:16`, `16:9`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Use the input fields listed below. ### Prompt * `prompt`: Required. Describe the desired image. Length: **1-5,000 characters**. # Grok Imagine Image 2.0 Edit Source: https://docs.vidgo.ai/api-manual/image-series/xai-grok-imagine-image-v2-0-edit api-manual/image-series/xai-grok-imagine-image-v2-0-edit.json POST /api/generate/submit Refine images with Grok Imagine Image 2.0, combining reference images and precise instructions to preserve subjects while changing visual details. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Refine images with Grok Imagine Image 2.0, combining reference images and precise instructions to preserve subjects while changing visual details. ## Models * **xai/grok-imagine-image-v2.0/edit** - Edit images using a prompt and image references. ## Features * Edit images using a prompt and image references. * Accepts 1-3 images in `image_urls`. * Choose from `1K`, `2K` output resolutions. * Control the number of output images with `n`. ## Output Options ### Aspect Ratio * `aspect_ratio`: Optional. Accepted values: `1:1`, `2:3`, `3:2`, `9:16`, `16:9`. Default: `1:1`. ### Resolution * `resolution`: Optional. Accepted values: `1K`, `2K`. Default: `1K`. ### Quality * `quality`: Optional. Accepted values: `low`, `medium`. Default: `medium`. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `4`. Default: `1`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the requested changes. Length: **1-8,000 characters**. * The value must not be blank when supplied. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-3 items. Each item must be an HTTP(S) URL. ## Billing Factors Billing depends on output quality (`quality`), output resolution (`resolution`), and output image count (`n`). Input image count (`image_urls`) adds a separate charge once per request; this charge is not multiplied by `n`. Credits are deducted on submission and refunded if the task fails. # Grok Imagine Image 2.0 Text to Image Source: https://docs.vidgo.ai/api-manual/image-series/xai-grok-imagine-image-v2-0-text-to-image api-manual/image-series/xai-grok-imagine-image-v2-0-text-to-image.json POST /api/generate/submit Create detailed images with accurate text, structured layouts, and close prompt following, at resolutions up to 2K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create detailed images with accurate text, structured layouts, and close prompt following, at resolutions up to 2K. ## Models * **xai/grok-imagine-image-v2.0/text-to-image** - Generate images from text prompts. ## Features * Generate images from text prompts. * Choose from `1K`, `2K` output resolutions. * Control the number of output images with `n`. ## Output Options ### Aspect Ratio * `aspect_ratio`: Optional. Accepted values: `1:1`, `2:3`, `3:2`, `9:16`, `16:9`. Default: `1:1`. ### Resolution * `resolution`: Optional. Accepted values: `1K`, `2K`. Default: `1K`. ### Quality * `quality`: Optional. Accepted values: `low`, `medium`. Default: `medium`. ### Image Count * `n`: Optional. Number of images to generate. Integer from `1` to `4`. Default: `1`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the desired image. Length: **1-8,000 characters**. * The value must not be blank when supplied. ## Billing Factors Billing depends on output quality (`quality`), output resolution (`resolution`), and output image count (`n`). Credits are deducted on submission and refunded if the task fails. # Music Webhook Source: https://docs.vidgo.ai/api-manual/music-series/music-webhook Receive automatic callback notifications when music generation tasks complete Instead of polling the [Query Music Detail](/api-manual/music-series/query-music-detail) endpoint, you can provide a `callback_url` when submitting music generation tasks to receive automatic notifications when generation completes. ## How It Works 1. **Submit with callback URL**: Include a `callback_url` parameter in your music generation request 2. **Task processing**: Vidgo API processes your music generation task 3. **Receive notification**: When the task status becomes `finished` or `failed`, Vidgo API sends a POST request to your callback URL 4. **Process result**: Your server receives the complete task data including generated files ## Callback Request When a task completes, Vidgo API will send a POST request to your callback URL: ### Request Headers ``` Content-Type: application/json ``` ### Request Body Structure ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "finished", "files": [...], "created_time": "2025-11-25T08:50:13", "error_message": null } } ``` > [!NOTE] > > The `files` array content varies depending on which model created the task. See [Response Fields](#response-fields-files-data) below for details. ## Response Fields (files data) The `files` array content varies depending on which model created the task. | Model | Field | Type | Description | | - | - | - | - | | `generate-music`, `extend-music`, `upload-and-cover-audio`, `upload-and-extend-audio`, `add-instrumental`, `add-vocals`, `replace-section` | `audio_id` | string | Unique identifier for the audio file | | ↑ | `audio_url` | string | Direct download URL for the audio file | | ↑ | `image_url` | string | Cover image URL | | ↑ | `title` | string | Track title | | ↑ | `tags` | string | Style tags | | ↑ | `duration` | number | Audio duration in seconds | | ↑ | `prompt` | string | Generation prompt used | | `get-timestamped-lyrics` | `timestampe_lyrics` | string | Lyrics with timestamps | | `generate-lyrics` | `title` | string | Lyrics title | | ↑ | `text` | string | Complete lyrics content | | `boost-music-style` | `style` | string | Enhanced music style | | `convert-to-wav` | `wav_url` | string | URL to converted WAV file | | `separate-vocals` | `separate_vocals` | string (JSON) | JSON string containing separated audio URLs. [See details](#separate-vocals) | | `upload-and-separate-vocals` | `vocal_removal` | string (JSON) | JSON string containing separated stem URLs. [See details](#upload-and-separate-vocals) | | `stem-split` | `stem_split` | string (JSON) | JSON string containing full stem separation URLs. [See details](#stem-split) | | `generate-music-cover` | `generate_cover` | string (JSON) | JSON string containing generated cover images. [See details](#generate-music-cover) | | `generate-persona` | `persona_id` | string | Generated persona identifier | | `create-music-video` | `video_url` | string | Generated video URL | ### JSON Field Details #### separate-vocals `separate_vocals` fields: * `vocal_url` - URL to the extracted vocal track * `instrumental_url` - URL to the instrumental track #### upload-and-separate-vocals `vocal_removal` fields: * `bass` - URL to the bass track * `drums` - URL to the drums track * `piano` - URL to the piano track * `guitar` - URL to the guitar track * `vocals` - URL to the vocals track * `other` - URL to other audio elements #### stem-split `stem_split` fields: * `backing_vocals_url` - URL to backing vocals * `bass_url` - URL to bass track * `brass_url` - URL to brass instruments * `drums_url` - URL to drums track * `fx_url` - URL to sound effects * `guitar_url` - URL to guitar track * `keyboard_url` - URL to keyboard track * `percussion_url` - URL to percussion track * `strings_url` - URL to strings track * `synth_url` - URL to synthesizer track * `vocal_url` - URL to main vocals * `woodwinds_url` - URL to woodwinds track #### generate-music-cover `generate_cover` is a JSON array containing cover image objects: * `file_url` - URL to the generated cover image * `file_type` - File type (e.g., "image") ## Callback Examples ### Music Generation (generate-music, extend-music, etc.) ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "finished", "files": [ { "audio_id": "62e4542a-73be-44e1-b397-7716ee7505c6", "audio_url": "https://file.goseaapp.com/audio/8FDN1I7M7Q68DDG8/audio_62e4542a.mp3", "image_url": "https://file.goseaapp.com/audio/8FDN1I7M7Q68DDG8/cover_62e4542a.jpeg", "title": "Peaceful Piano Meditation", "tags": "Classical", "duration": 240.0, "prompt": "" }, { "audio_id": "8e755734-a840-4c13-beac-b9f1044979ca", "audio_url": "https://file.goseaapp.com/audio/8FDN1I7M7Q68DDG8/audio_8e755734.mp3", "image_url": "https://file.goseaapp.com/audio/8FDN1I7M7Q68DDG8/cover_8e755734.jpeg", "title": "Peaceful Piano Meditation", "tags": "Classical", "duration": 130.0, "prompt": "" } ], "created_time": "2025-11-25T08:50:13", "error_message": null } } ``` ### Timestamped Lyrics (get-timestamped-lyrics) ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "finished", "files": [ { "timestampe_lyrics": "[00:00.00] First line of lyrics\n[00:05.23] Second line of lyrics" } ], "created_time": "2025-11-25T08:50:13", "error_message": null } } ``` ### Generated Lyrics (generate-lyrics) ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "finished", "files": [ { "title": "Peaceful Piano Meditation", "text": "Peaceful Piano Meditation lyrics content..." } ], "created_time": "2025-11-25T08:50:13", "error_message": null } } ``` ### Music Style Enhancement (boost-music-style) ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "finished", "files": [ { "style": "Enhanced music style result" } ], "created_time": "2025-11-25T08:50:13", "error_message": null } } ``` ### WAV Conversion (convert-to-wav) ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "finished", "files": [ { "wav_url": "https://file.goseaapp.com/audio/8FDN1I7M7Q68DDG8/output.wav" } ], "created_time": "2025-11-25T08:50:13", "error_message": null } } ``` ### Vocal Separation (separate-vocals) ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "finished", "files": [ { "separate_vocals": "{\"vocal_url\": \"https://file.goseaapp.com/audio/vocals.mp3\", \"instrumental_url\": \"https://file.goseaapp.com/audio/instrumental.mp3\"}" } ], "created_time": "2025-11-25T08:50:13", "error_message": null } } ``` ### Upload & Separate Vocals (upload-and-separate-vocals) ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "finished", "files": [ { "vocal_removal": "{\"bass\": \"https://file.goseaapp.com/audio/bass.mp3\", \"drums\": \"https://file.goseaapp.com/audio/drums.mp3\", \"piano\": \"https://file.goseaapp.com/audio/piano.mp3\", \"guitar\": \"https://file.goseaapp.com/audio/guitar.mp3\", \"vocals\": \"https://file.goseaapp.com/audio/vocals.mp3\", \"other\": \"https://file.goseaapp.com/audio/other.mp3\"}" } ], "created_time": "2025-11-25T08:50:13", "error_message": null } } ``` ### Stem Split (stem-split) ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "finished", "files": [ { "stem_split": "{\"backing_vocals_url\": \"\", \"bass_url\": \"\", \"brass_url\": \"\", \"drums_url\": \"\", \"fx_url\": \"\", \"guitar_url\": \"\", \"keyboard_url\": \"\", \"percussion_url\": \"\", \"strings_url\": \"\", \"synth_url\": \"\", \"vocal_url\": \"\", \"woodwinds_url\": \"\"}" } ], "created_time": "2025-11-25T08:50:13", "error_message": null } } ``` ### Music Cover Image (generate-music-cover) ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "finished", "files": [ { "generate_cover": "[{\"file_url\": \"https://file.goseaapp.com/audio/cover_1.png\", \"file_type\": \"image\"}, {\"file_url\": \"https://file.goseaapp.com/audio/cover_2.png\", \"file_type\": \"image\"}]" } ], "created_time": "2025-11-25T08:50:13", "error_message": null } } ``` ### Generated Persona (generate-persona) ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "finished", "files": [ { "persona_id": "persona_abc123" } ], "created_time": "2025-11-25T08:50:13", "error_message": null } } ``` ### Music Video (create-music-video) ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "finished", "files": [ { "video_url": "https://file.goseaapp.com/video/8FDN1I7M7Q68DDG8/music_video.mp4" } ], "created_time": "2025-11-25T08:50:13", "error_message": null } } ``` ### Failed Task ```json theme={null} { "code": 200, "data": { "task_id": "8FDN1I7M7Q68DDG8", "status": "failed", "files": [], "created_time": "2025-11-25T08:50:13", "error_message": "The prompt violates our content policy" } } ``` ## Requirements Your callback endpoint must meet the following requirements: * **HTTPS only**: Must use HTTPS protocol (HTTP not supported) * **Maximum URL length**: 2048 characters * **Response timeout**: Must respond within 10 seconds * **Success response**: Should return HTTP 200-299 status code * **No internal IPs**: Cannot use private/internal IP addresses (e.g., 192.168.x.x, 10.x.x.x) * **Public accessibility**: Must be publicly accessible from the internet ## Retry Policy If your callback endpoint fails to respond or returns an error: * **Retry attempts**: 3 automatic retries * **Retry delays**: After 1 second, 2 seconds, and 4 seconds * **Final failure**: After 3 failed attempts, no further retries are made > [!WARNING] > > If all retry attempts fail, you can still retrieve the results by polling the [Query Music Detail](/api-manual/music-series/query-music-detail) endpoint. ## Security Best Practices > [!TIP] > > **Verify requests**: Consider adding a signature verification mechanism to ensure requests are from Vidgo API > [!TIP] > > **Idempotency**: Design your webhook handler to be idempotent in case of duplicate deliveries > [!TIP] > > **Async processing**: Process the callback asynchronously and return 200 quickly to avoid timeouts > [!TIP] > > **Logging**: Log all webhook requests for debugging and monitoring # Query Music Detail Source: https://docs.vidgo.ai/api-manual/music-series/query-music-detail api-manual/music-series/query-music-detail.json GET /api/generate/detail/music Query detailed results of music generation tasks ## Usage Guide * All POST submission requests in the Music Series can query their results through this endpoint. Different models will return different [response fields](#response-fields-files-data). ## Parameter Details * `task_id` (required): The unique task identifier returned from the music generation submission endpoint ## Usage Notes * Poll this endpoint to check task completion status * The `files` array will be empty until the task status is `finished` * When a task fails, check the `error_message` field for details * Multiple audio files may be returned for a single task as variations are generated ## Response Fields (files data) The `files` array content varies depending on which model created the task. | Model | Field | Type | Description | | - | - | - | - | | `generate-music`, `extend-music`, `upload-and-cover-audio`, `upload-and-extend-audio`, `add-instrumental`, `add-vocals`, `replace-section` | `audio_id` | string | Unique identifier for the audio file | | ↑ | `audio_url` | string | Direct download URL for the audio file | | ↑ | `image_url` | string | Cover image URL | | ↑ | `title` | string | Track title | | ↑ | `tags` | string | Style tags | | ↑ | `duration` | number | Audio duration in seconds | | ↑ | `prompt` | string | Generation prompt used | | `get-timestamped-lyrics` | `timestampe_lyrics` | string | Lyrics with timestamps | | `generate-lyrics` | `title` | string | Lyrics title | | ↑ | `text` | string | Complete lyrics content | | `boost-music-style` | `style` | string | Enhanced music style | | `convert-to-wav` | `wav_url` | string | URL to converted WAV file | | `separate-vocals` | `separate_vocals` | string (JSON) | JSON string containing separated audio URLs. [See details](#separate-vocals) | | `upload-and-separate-vocals` | `vocal_removal` | string (JSON) | JSON string containing separated stem URLs. [See details](#upload-and-separate-vocals) | | `stem-split` | `stem_split` | string (JSON) | JSON string containing full stem separation URLs. [See details](#stem-split) | | `generate-music-cover` | `generate_cover` | string (JSON) | JSON string containing generated cover images. [See details](#generate-music-cover) | | `generate-persona` | `persona_id` | string | Generated persona identifier | | `create-music-video` | `video_url` | string | Generated video URL | ### JSON Field Details #### separate-vocals `separate_vocals` fields: * `vocal_url` - URL to the extracted vocal track * `instrumental_url` - URL to the instrumental track #### upload-and-separate-vocals `vocal_removal` fields: * `bass` - URL to the bass track * `drums` - URL to the drums track * `piano` - URL to the piano track * `guitar` - URL to the guitar track * `vocals` - URL to the vocals track * `other` - URL to other audio elements #### stem-split `stem_split` fields: * `backing_vocals_url` - URL to backing vocals * `bass_url` - URL to bass track * `brass_url` - URL to brass instruments * `drums_url` - URL to drums track * `fx_url` - URL to sound effects * `guitar_url` - URL to guitar track * `keyboard_url` - URL to keyboard track * `percussion_url` - URL to percussion track * `strings_url` - URL to strings track * `synth_url` - URL to synthesizer track * `vocal_url` - URL to main vocals * `woodwinds_url` - URL to woodwinds track #### generate-music-cover `generate_cover` is a JSON array containing cover image objects: * `file_url` - URL to the generated cover image * `file_type` - File type (e.g., "image") # Quick Start Source: https://docs.vidgo.ai/api-manual/quickstart Make your first Vidgo API call: create an API key, submit an image, video or music generation task, and poll the task status for the result. ## Welcome to Vidgo API Vidgo API provides powerful image and video generation APIs. This guide will help you make your first API call in just a few minutes. ## Step 1: Get Your API Key 1. Visit the [Vidgo API Console](https://vidgo.ai/apis/dashboard/api-key) 2. Sign in or create an account 3. Generate a new API key 4. **Important**: Copy and securely store your API key - it will only be displayed once ## Step 2: Generate Your First Image All API requests require your API key in the `Authorization` header. Here's a complete example: ```python theme={null} import requests url = "https://api.vidgo.ai/api/generate/submit" headers = { "Authorization": "Bearer VIDGO_API_KEY", "Content-Type": "application/json" } payload = { "model": "gpt-4o-image", "callback_url": "https://your-domain.com/callback", "input": { "prompt": "A serene mountain landscape at sunset with vibrant colors", "size": "1:1", "n": 1 } } response = requests.post(url, json=payload, headers=headers) result = response.json() task_id = result["data"]["task_id"] print(f"Task ID: {task_id}") ``` ```javascript theme={null} const response = await fetch('https://api.vidgo.ai/api/generate/submit', { method: 'POST', headers: { 'Authorization': 'Bearer VIDGO_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-4o-image', callback_url: 'https://your-domain.com/callback', input: { prompt: 'A serene mountain landscape at sunset with vibrant colors', size: '1:1', n: 1 } }) }); const result = await response.json(); const taskId = result.data.task_id; console.log(`Task ID: ${taskId}`); ``` ```bash theme={null} curl -X POST https://api.vidgo.ai/api/generate/submit \ -H "Authorization: Bearer $VIDGO_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4o-image", "callback_url": "https://your-domain.com/callback", "input": { "prompt": "A serene mountain landscape at sunset with vibrant colors", "size": "1:1", "n": 1 } }' ``` ## Step 3: Check Task Status Vidgo API uses asynchronous processing. Poll the status endpoint to get your results: ```python theme={null} import requests import time task_id = "task-unified-1757165031-uyujaw3d" url = f"https://api.vidgo.ai/api/generate/status/{task_id}" headers = { "Authorization": "Bearer VIDGO_API_KEY" } # Poll until complete while True: response = requests.get(url, headers=headers) result = response.json() task = result["data"] status = task['status'] progress = task.get('progress', 0) print(f"Status: {status}, Progress: {progress}%") if status == 'finished': print(f"Image URL: {task['files'][0]['file_url']}") break elif status == 'failed': print(f"Error: {task['error_message']}") break time.sleep(2) # Wait 2 seconds before next check ``` ```javascript theme={null} const taskId = 'task-unified-1757165031-uyujaw3d'; async function checkStatus() { while (true) { const response = await fetch( `https://api.vidgo.ai/api/generate/status/${taskId}`, { headers: { 'Authorization': 'Bearer VIDGO_API_KEY' } } ); const result = await response.json(); const task = result.data; const { status, progress, files, error_message } = task; console.log(`Status: ${status}, Progress: ${progress}%`); if (status === 'finished') { console.log('Image URL:', files[0].file_url); break; } else if (status === 'failed') { console.log('Error:', error_message); break; } await new Promise(resolve => setTimeout(resolve, 2000)); } } checkStatus(); ``` ```bash theme={null} curl -X GET https://api.vidgo.ai/api/generate/status/task-unified-1757165031-uyujaw3d \ -H "Authorization: Bearer $VIDGO_API_KEY" ``` **Example Response:** ```json theme={null} { "code": 200, "data": { "task_id": "task-unified-1757165031-uyujaw3d", "status": "finished", "progress": 100, "files": [ { "file_url": "https://file.goseaapp.com/images/image-abc123.jpg", "file_type": "image" } ], "created_time": "2025-11-12T10:30:00", "error_message": null } } ``` > [!NOTE] > > **Content Validity**: Generated files are valid for 24 hours. Please download and save them promptly. ## Step 4: Try Video Generation Generate videos using the same pattern. Just change the model and input parameters: ```python theme={null} payload = { "model": "kwaivgi/kling-v3.0-std/text-to-video", "callback_url": "https://your-domain.com/callback", "input": { "prompt": "A time-lapse of a bustling city street transitioning from day to night", "duration": 5, "aspect_ratio": "16:9", "sound": True } } ``` ## Step 5: Try Music Generation Generate music with customizable styles and vocals: ```python theme={null} payload = { "model": "generate-music", "callback_url": "https://your-domain.com/callback", "input": { "prompt": "A calm and relaxing piano track with soft melodies", "style": "Classical", "title": "Peaceful Piano Meditation", "custom_mode": True, "instrumental": True, "mv": "V5" } } ``` ## Support Need help? We're here to assist: * **Email**: [support@vidgo.ai](mailto:support@vidgo.ai) * **Console**: [vidgo.ai](https://vidgo.ai/apis) # Get Task Status Source: https://docs.vidgo.ai/api-manual/task-management/status openapi.json GET /api/generate/status/{task_id} Query task execution status and retrieve generation results Query image, video, audio, and 3D generation tasks and retrieve all returned files when complete. ## Endpoint ```http theme={null} GET https://api.vidgo.ai/api/generate/status/{task_id} ``` ## Authentication This endpoint currently retrieves tasks by `task_id` without requiring an Authorization header or checking task ownership. The examples include a Bearer header so they can share the same client configuration as authenticated submit requests. ```bash theme={null} Authorization: Bearer VIDGO_API_KEY ``` > [card] [Get API Key](https://vidgo.ai/apis/dashboard/api-key) > > Generate your API key from the console ## Parameters ### Path Parameters | Parameter | Type | Required | Description | | - | - | - | - | | `task_id` | string | Yes | Unique task identifier returned from the submit endpoint | ## Response ### Success Response (200) ```json theme={null} { "code": 200, "data": { "task_id": "task-unified-1757165031-uyujaw3d", "status": "finished", "files": [ { "file_url": "https://file.goseaapp.com/images/image-abc123.jpg", "file_type": "image" } ], "created_time": "2025-11-12T10:30:00", "progress": 100, "error_message": null } } ``` ### Response Fields | Field | Type | Description | | - | - | - | | `code` | integer | HTTP status code (200 for success) | | `data.task_id` | string | Unique task identifier | | `data.status` | string | Task status: `not_started`, `running`, `finished`, `failed` | | `data.files` | array | Generated media files (when status is `finished`) | | `data.files[].file_url` | string | Direct URL to generated file | | `data.files[].file_type` | string | Artifact type: `image`, `video`, `audio`, `lyrics`, `3d`, or `other` | | `data.files[].watermark_url` | string | Optional watermarked variant | | `data.files[].label` | string | Optional artifact role, such as model, preview, or timestamps | | `data.files[].format` | string | Optional file format | | `data.files[].content_type` | string | Optional MIME type | | `data.files[].file_name` | string | Optional file name | | `data.files[].file_size` | integer | Optional size in bytes | | `data.files[].metadata` | object | Optional additional artifact metadata | | `data.created_time` | string | ISO 8601 timestamp of task creation | | `data.progress` | integer or null | Completion percentage when supplied by the service; some tasks may remain at 0 until completion | | `data.error_message` | string or null | Error description when available; null when there is no error | ### Status Values | Status | Description | | - | - | | `not_started` | Task is queued, waiting to be processed | | `running` | Task is currently being generated | | `finished` | Task completed successfully, results available in `files` | | `failed` | Task failed, error details in `error_message` | ## Response Examples by Status ### Not Started ```json theme={null} { "code": 200, "data": { "task_id": "task-unified-1757165031-uyujaw3d", "status": "not_started", "files": [], "created_time": "2025-11-12T10:30:00", "progress": 0, "error_message": null } } ``` ### Running (Image) ```json theme={null} { "code": 200, "data": { "task_id": "task-unified-1757165031-uyujaw3d", "status": "running", "files": [], "created_time": "2025-11-12T10:30:00", "progress": 45, "error_message": null } } ``` ### Finished (Image) ```json theme={null} { "code": 200, "data": { "task_id": "task-unified-1757165031-uyujaw3d", "status": "finished", "files": [ { "file_url": "https://file.goseaapp.com/images/image-abc123.jpg", "file_type": "image" } ], "created_time": "2025-11-12T10:30:00", "progress": 100, "error_message": null } } ``` ### Finished (Video) ```json theme={null} { "code": 200, "data": { "task_id": "task-unified-1757165211-xyz789", "status": "finished", "files": [ { "file_url": "https://file.goseaapp.com/videos/video-xyz789.mp4", "file_type": "video" } ], "created_time": "2025-11-12T10:30:00", "progress": 100, "error_message": null } } ``` ### Failed ```json theme={null} { "code": 200, "data": { "task_id": "task-unified-1757165031-uyujaw3d", "status": "failed", "files": [], "created_time": "2025-11-12T10:30:00", "progress": 0, "error_message": "The prompt violates our content policy" } } ``` ## Code Examples ### cURL ```bash theme={null} curl -X GET https://api.vidgo.ai/api/generate/status/task-unified-1757165031-uyujaw3d \ -H "Authorization: Bearer VIDGO_API_KEY" ``` ### Python ```python theme={null} import requests API_KEY = "your-api-key-here" task_id = "task-unified-1757165031-uyujaw3d" response = requests.get( f"https://api.vidgo.ai/api/generate/status/{task_id}", headers={"Authorization": f"Bearer {API_KEY}"} ) result = response.json() data = result["data"] print(f"Status: {data['status']}") print(f"Progress: {data['progress']}%") if data["status"] == "finished": for file in data["files"]: print(f"Generated file: {file['file_url']}") elif data["status"] == "failed": print(f"Error: {data['error_message']}") ``` ### JavaScript / Node.js ```javascript theme={null} const API_KEY = 'your-api-key-here'; const taskId = 'task-unified-1757165031-uyujaw3d'; const response = await fetch( `https://api.vidgo.ai/api/generate/status/${taskId}`, { headers: { 'Authorization': `Bearer ${API_KEY}` } } ); const result = await response.json(); const data = result.data; console.log(`Status: ${data.status}`); console.log(`Progress: ${data.progress}%`); if (data.status === 'finished') { data.files.forEach(file => { console.log(`Generated file: ${file.file_url}`); }); } else if (data.status === 'failed') { console.log(`Error: ${data.error_message}`); } ``` ### Go ```go theme={null} package main import ( "encoding/json" "fmt" "io" "net/http" ) const ( APIKey = "your-api-key-here" BaseURL = "https://api.vidgo.ai" ) type APIResponse struct { Code int `json:"code"` Data TaskData `json:"data"` } type TaskData struct { TaskID string `json:"task_id"` Status string `json:"status"` Files []MediaFile `json:"files"` CreatedTime string `json:"created_time"` Progress int `json:"progress"` ErrorMessage *string `json:"error_message"` } type MediaFile struct { FileURL string `json:"file_url"` FileType string `json:"file_type"` } func main() { taskID := "task-unified-1757165031-uyujaw3d" req, _ := http.NewRequest( "GET", fmt.Sprintf("%s/api/generate/status/%s", BaseURL, taskID), nil, ) req.Header.Set("Authorization", "Bearer "+APIKey) client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) var apiResp APIResponse json.Unmarshal(body, &apiResp) data := apiResp.Data fmt.Printf("Status: %s\n", data.Status) fmt.Printf("Progress: %d%%\n", data.Progress) if data.Status == "finished" { for _, file := range data.Files { fmt.Printf("Generated file: %s\n", file.FileURL) } } else if data.Status == "failed" { fmt.Printf("Error: %s\n", *data.ErrorMessage) } } ``` ### Java ```java theme={null} import java.net.http.*; import java.net.URI; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.JsonNode; public class VidgoAPI { private static final String API_KEY = "your-api-key-here"; private static final String BASE_URL = "https://api.vidgo.ai"; public static void main(String[] args) throws Exception { String taskId = "task-unified-1757165031-uyujaw3d"; HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(BASE_URL + "/api/generate/status/" + taskId)) .header("Authorization", "Bearer " + API_KEY) .GET() .build(); HttpResponse response = client.send( request, HttpResponse.BodyHandlers.ofString() ); ObjectMapper mapper = new ObjectMapper(); JsonNode root = mapper.readTree(response.body()); JsonNode data = root.get("data"); String status = data.get("status").asText(); int progress = data.get("progress").asInt(); System.out.println("Status: " + status); System.out.println("Progress: " + progress + "%"); if ("finished".equals(status)) { JsonNode files = data.get("files"); files.forEach(file -> { System.out.println("Generated file: " + file.get("file_url").asText()); }); } else if ("failed".equals(status)) { System.out.println("Error: " + data.get("error_message").asText()); } } } ``` ### PHP ```php theme={null} [!TIP] > > **Poll Interval**: Check status every 2-5 seconds. Avoid polling more frequently to prevent rate limiting. > [!TIP] > > **Timeout**: Implement timeouts to avoid infinite loops. Typical generation times: > > * Images: 15-60 seconds > * Videos: 90-300 seconds > [!TIP] > > **Exponential Backoff**: On rate limit (429) or server errors (5xx), implement exponential backoff (wait 1s, 2s, 4s, 8s...). ### Complete Polling Example ```python theme={null} import requests import time API_KEY = "your-api-key-here" BASE_URL = "https://api.vidgo.ai" def wait_for_completion(task_id, timeout=600, poll_interval=2): """ Wait for task completion with timeout Args: task_id: Task identifier timeout: Maximum wait time in seconds poll_interval: Seconds between checks Returns: Task data when complete Raises: TimeoutError: If timeout exceeded RuntimeError: If task failed """ start_time = time.time() headers = {"Authorization": f"Bearer {API_KEY}"} while True: # Check timeout if time.time() - start_time > timeout: raise TimeoutError(f"Task did not complete within {timeout}s") # Get status response = requests.get( f"{BASE_URL}/api/generate/status/{task_id}", headers=headers ) if response.status_code == 429: # Rate limited - wait longer time.sleep(poll_interval * 2) continue response.raise_for_status() result = response.json() data = result["data"] # Log progress elapsed = int(time.time() - start_time) print(f"[{elapsed}s] Status: {data['status']}, Progress: {data['progress']}%") # Check completion if data["status"] == "finished": print("Task completed successfully") return data elif data["status"] == "failed": raise RuntimeError(f"Task failed: {data['error_message']}") time.sleep(poll_interval) # Usage try: task_id = "task-unified-1757165031-uyujaw3d" result = wait_for_completion(task_id) for file in result["files"]: print(f"Download: {file['file_url']}") except TimeoutError as e: print(f"Timeout: {e}") except RuntimeError as e: print(f"Error: {e}") ``` ## Error Responses ### HTTP Error Codes | Code | Description | Action | | - | - | - | | 404 | Not Found | Task ID does not exist | | 500 | Server Error | Retry with exponential backoff | ### Error Response Format ```json theme={null} { "detail": "Task not found" } ``` ## Important Notes > [!WARNING] > > **Content Validity**: File expiry depends on the storage provider. Download and save outputs that you need to retain. > [!NOTE] > > **Credits**: Credits are deducted when the task is submitted. If the task fails, those credits are refunded automatically. > [!TIP] > > **Webhooks**: Instead of polling, you can provide a `callback_url` when submitting tasks to receive automatic notifications. See [Webhook Callbacks](/api-manual/task-management/webhooks). ## Next Steps > [card] [Submit Task](/api-manual/quickstart) > > Learn how to submit generation tasks > [card] [Image Generation](/api-manual/image-series/gpt-4o-image) > > Generate images with GPT-4o > [card] [Video Generation](/api-manual/video-series/overview) > > Create videos with Sora 2 > [card] [Quick Start](/api-manual/quickstart) > > Complete integration guide ## Additional generated files Audio and 3D workflows use the same files array. file\_type may be audio, 3d, image, or other. The array retains model assets, previews, textures, animation files, and timestamp files. Each item may also include label, format, content\_type, file\_name, file\_size, and metadata. Process every returned file; metadata fields are optional. # Webhook Callbacks Source: https://docs.vidgo.ai/api-manual/task-management/webhooks Receive automatic notifications when tasks complete Instead of polling the status endpoint, you can provide a callback URL when submitting tasks to receive automatic notifications when generation completes. ## How It Works 1. **Submit with callback URL**: Include a `callback_url` in your task submission 2. **Receive notification**: When the task completes (success or failure), Vidgo API sends a POST request to your URL 3. **Process result**: Your server receives the complete task data including generated files ## Callback Request When a task reaches `finished` or `failed`, Vidgo API sends a flat task object to your callback URL. Unlike the [status endpoint response](/api-manual/task-management/status), the callback body is not wrapped in `code` and `data`: ```json theme={null} { "task_id": "task-unified-1757165031-uyujaw3d", "status": "finished", "files": [ { "file_url": "https://file.goseaapp.com/images/image-abc123.jpg", "file_type": "image" } ], "created_time": "2025-11-12T10:30:00", "error_message": null } ``` ### Failed Task Callback ```json theme={null} { "task_id": "task-unified-1757165031-uyujaw3d", "status": "failed", "files": [], "created_time": "2025-11-12T10:30:00", "error_message": "The prompt violates our content policy" } ``` ## Requirements Your callback endpoint must meet the following requirements: * **Public endpoint**: Use a publicly reachable HTTP(S) URL * **Response timeout**: Respond within 30 seconds * **Success response**: Should return HTTP 200-299 status code ## Retry Policy If delivery times out, encounters a network error, or receives a `5xx` response: * **Retry attempts**: Up to 5 automatic retries * **Retry delays**: 60, 120, 240, 480, and 600 seconds between attempts * **Final failure**: After all retries are exhausted, no further callback attempts are made * **Client errors**: `4xx` responses are recorded and are not retried > [!WARNING] > > If all retry attempts fail, you can still retrieve the results by polling the [status endpoint](/api-manual/task-management/status). ## Example Implementation ### Python (Flask) ```python theme={null} from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/webhook/generation-complete', methods=['POST']) def handle_generation_complete(): # Parse the callback payload task_data = request.get_json(silent=True) or {} task_id = task_data.get('task_id') status = task_data.get('status') if status == 'finished': # Task completed successfully files = task_data.get('files', []) for file in files: print(f"Generated file: {file['file_url']}") # Download and process the file # save_file(file['file_url']) elif status == 'failed': # Task failed error = task_data.get('error_message') print(f"Task {task_id} failed: {error}") # Handle the failure # Return 200 to acknowledge receipt return jsonify({"received": True}), 200 if __name__ == '__main__': app.run(host='0.0.0.0', port=443, ssl_context='adhoc') ``` ### Node.js (Express) ```javascript theme={null} const express = require('express'); const app = express(); app.use(express.json()); app.post('/webhook/generation-complete', (req, res) => { const { task_id, status, files = [], error_message } = req.body; if (status === 'finished') { // Task completed successfully console.log(`Task ${task_id} completed`); files.forEach(file => { console.log(`Generated file: ${file.file_url}`); // Download and process the file }); } else if (status === 'failed') { // Task failed console.log(`Task ${task_id} failed: ${error_message}`); // Handle the failure } // Return 200 to acknowledge receipt res.status(200).json({ received: true }); }); const https = require('https'); const fs = require('fs'); const options = { key: fs.readFileSync('private-key.pem'), cert: fs.readFileSync('certificate.pem') }; https.createServer(options, app).listen(443, () => { console.log('Webhook server listening on port 443'); }); ``` ### Go ```go theme={null} package main import ( "encoding/json" "fmt" "net/http" ) type TaskData struct { TaskID string `json:"task_id"` Status string `json:"status"` Files []MediaFile `json:"files"` CreatedTime string `json:"created_time"` ErrorMessage *string `json:"error_message"` } type MediaFile struct { FileURL string `json:"file_url"` FileType string `json:"file_type"` } func handleWebhook(w http.ResponseWriter, r *http.Request) { var taskData TaskData if err := json.NewDecoder(r.Body).Decode(&taskData); err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } if taskData.Status == "finished" { // Task completed successfully fmt.Printf("Task %s completed\n", taskData.TaskID) for _, file := range taskData.Files { fmt.Printf("Generated file: %s\n", file.FileURL) // Download and process the file } } else if taskData.Status == "failed" { // Task failed errorMessage := "unknown error" if taskData.ErrorMessage != nil { errorMessage = *taskData.ErrorMessage } fmt.Printf("Task %s failed: %s\n", taskData.TaskID, errorMessage) // Handle the failure } // Return 200 to acknowledge receipt w.WriteHeader(http.StatusOK) json.NewEncoder(w).Encode(map[string]bool{"received": true}) } func main() { http.HandleFunc("/webhook/generation-complete", handleWebhook) // Use HTTPS err := http.ListenAndServeTLS(":443", "cert.pem", "key.pem", nil) if err != nil { panic(err) } } ``` ## Security Best Practices > [!TIP] > > **Verify requests**: Consider adding a signature verification mechanism to ensure requests are from Vidgo API > [!TIP] > > **Idempotency**: Design your webhook handler to be idempotent in case of duplicate deliveries > [!TIP] > > **Async processing**: Process the callback asynchronously and return 200 quickly to avoid timeouts > [!TIP] > > **Logging**: Log all webhook requests for debugging and monitoring ## Testing ### Using ngrok for Local Testing During development, you can use [ngrok](https://ngrok.com) to expose your local server: ```bash theme={null} # Start your local webhook server on port 3000 node webhook-server.js # In another terminal, start ngrok ngrok http 3000 # Use the HTTPS URL provided by ngrok as your callback_url # Example: https://abc123.ngrok.io/webhook/generation-complete ``` ## Webhook vs Polling | Method | Best For | Pros | Cons | | - | - | - | - | | **Webhooks** | Production systems | Real-time notifications, no polling overhead | Requires public endpoint, harder to debug | | **Polling** | Development, simple integrations | Easy to implement, no server required | Higher latency, consumes more resources | > [!NOTE] > > For production systems handling high volumes, webhooks are recommended to reduce API calls and get instant notifications. ## Next Steps > [card] [Task Status](/api-manual/task-management/status) > > Learn about polling task status > [card] [Image Generation](/api-manual/image-series/gpt-4o-image) > > Generate images with GPT-4o > [card] [Video Generation](/api-manual/video-series/overview) > > Create videos with Sora 2 > [card] [Quick Start](/api-manual/quickstart) > > Back to Quick Start guide ## Additional generated files Audio and 3D workflows use the same files array. file\_type may be audio, 3d, image, or other. The array retains model assets, previews, textures, animation files, and timestamp files. Each item may also include label, format, content\_type, file\_name, file\_size, and metadata. Process every returned file; metadata fields are optional. # Gemini Omni 1.1 Flash Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/google-gemini-omni-1-1-flash-image-to-video api-manual/video-series/google-gemini-omni-1-1-flash-image-to-video.json POST /api/generate/submit Animate a still image with Gemini Omni 1.1 Flash, using text direction to develop a short video scene at up to 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Animate a still image with Gemini Omni 1.1 Flash, using text direction to develop a short video scene at up to 4K. ## Models * **google/gemini-omni-1.1-flash/image-to-video** - Generate video from image input. ## Features * Generate video from one or two input images. * Choose from `360p`, `720p`, `1080p`, `4k` output resolutions. * Supports landscape (`16:9`) and portrait (`9:16`) framing. ## Duration Options * **4, 6, 8, 10 seconds** - Set `duration` to one of these values. Default: **8 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Image URLs * `image_urls`: Required. Provide 1-2 image URLs. * Images must be publicly accessible and directly downloadable. ### Resolution * `resolution`: `360p`, `720p`, `1080p`, `4k`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `16:9`, `9:16`. Default: `16:9`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Gemini Omni 1.1 Flash Reference to Video Source: https://docs.vidgo.ai/api-manual/video-series/google-gemini-omni-1-1-flash-reference-to-video api-manual/video-series/google-gemini-omni-1-1-flash-reference-to-video.json POST /api/generate/submit Use visual references to guide new scenes with Gemini Omni 1.1 Flash, combining image input and text direction in video output up to 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Use visual references to guide new scenes with Gemini Omni 1.1 Flash, combining image input and text direction in video output up to 4K. ## Models * **google/gemini-omni-1.1-flash/reference-to-video** - Generate a new video guided by reference material and a prompt. ## Features * Guide video generation with one to seven reference images. * Choose from `360p`, `720p`, `1080p`, `4k` output resolutions. * Supports landscape (`16:9`) and portrait (`9:16`) framing. ## Duration Options * **4, 6, 8, 10 seconds** - Set `duration` to one of these values. Default: **8 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Reference Inputs * `reference_image_urls`: Required; provide 1-7 images. ### Resolution * `resolution`: `360p`, `720p`, `1080p`, `4k`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `16:9`, `9:16`. Default: `16:9`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Gemini Omni 1.1 Flash Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/google-gemini-omni-1-1-flash-text-to-video api-manual/video-series/google-gemini-omni-1-1-flash-text-to-video.json POST /api/generate/submit Turn written scene concepts into short videos with Gemini Omni 1.1 Flash, with landscape or portrait framing and output up to 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Turn written scene concepts into short videos with Gemini Omni 1.1 Flash, with landscape or portrait framing and output up to 4K. ## Models * **google/gemini-omni-1.1-flash/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Choose from `360p`, `720p`, `1080p`, `4k` output resolutions. * Supports landscape (`16:9`) and portrait (`9:16`) framing. ## Duration Options * **4, 6, 8, 10 seconds** - Set `duration` to one of these values. Default: **8 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Resolution * `resolution`: `360p`, `720p`, `1080p`, `4k`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `16:9`, `9:16`. Default: `16:9`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Gemini Omni 1.1 Flash Video Edit Source: https://docs.vidgo.ai/api-manual/video-series/google-gemini-omni-1-1-flash-video-edit api-manual/video-series/google-gemini-omni-1-1-flash-video-edit.json POST /api/generate/submit Rework existing video with Gemini Omni 1.1 Flash, using written instructions to guide changes to the scene with output up to 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Rework existing video with Gemini Omni 1.1 Flash, using written instructions to guide changes to the scene with output up to 4K. ## Models * **google/gemini-omni-1.1-flash/video-edit** - Edit an existing video using written instructions. ## Features * Edit an existing video using written instructions. * Optionally add up to five reference images to guide the edit. * Choose from `360p`, `720p`, `1080p`, `4k` output resolutions. * Supports landscape (`16:9`) and portrait (`9:16`) framing. ## Duration Options * **Source video: 3-10 seconds** - Output duration follows the reference video. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the requested changes to the video. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Reference Inputs * `reference_image_urls`: Optional; provide up to 5 images. * Omit `reference_image_urls` or send an empty array when no reference images are needed. ### Source Video * `reference_video_urls`: Required. Provide an array containing exactly one publicly accessible source video URL. * The source video must be directly downloadable over HTTP(S) and no larger than **100 MiB** for duration inspection. ### Resolution * `resolution`: `360p`, `720p`, `1080p`, `4k`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `16:9`, `9:16`. Default: `16:9`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Omni Flash Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/google-gemini-omni-flash-image-to-video api-manual/video-series/google-gemini-omni-flash-image-to-video.json POST /api/generate/submit Animate a still image with Gemini Omni Flash, using text direction to develop a short video scene at up to 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Animate a still image with Gemini Omni Flash, using text direction to develop a short video scene at up to 4K. ## Models * **google/gemini-omni-flash/image-to-video** - Generate video from image input. ## Features * Animate a single reference image. * Choose from `720p`, `1080p`, `4k` output resolutions. * Supports landscape (`16:9`) and portrait (`9:16`) framing. ## Duration Options * **4, 6, 8, 10 seconds** - Set `duration` to one of these values. Default: **6 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Image URLs * `image_urls`: Required. Provide exactly 1 image URL. * Images must be publicly accessible and directly downloadable. ### Resolution * `resolution`: `720p`, `1080p`, `4k`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `16:9`, `9:16`. Default: `16:9`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Omni Flash Reference to Video Source: https://docs.vidgo.ai/api-manual/video-series/google-gemini-omni-flash-reference-to-video api-manual/video-series/google-gemini-omni-flash-reference-to-video.json POST /api/generate/submit Use visual references to guide new scenes with Gemini Omni Flash, combining image input and text direction in video output up to 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Use visual references to guide new scenes with Gemini Omni Flash, combining image input and text direction in video output up to 4K. ## Models * **google/gemini-omni-flash/reference-to-video** - Generate a new video guided by reference material and a prompt. ## Features * Combine exactly three reference images with a prompt to guide the video. * Choose from `720p`, `1080p`, `4k` output resolutions. * Supports landscape (`16:9`) and portrait (`9:16`) framing. ## Duration Options * **4, 6, 8, 10 seconds** - Set `duration` to one of these values. Default: **6 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Image URLs * `image_urls`: Required. Provide exactly 3 image URLs. * Use `image_urls` for this workflow. * Images must be publicly accessible and directly downloadable. ### Resolution * `resolution`: `720p`, `1080p`, `4k`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `16:9`, `9:16`. Default: `16:9`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Omni Flash Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/google-gemini-omni-flash-text-to-video api-manual/video-series/google-gemini-omni-flash-text-to-video.json POST /api/generate/submit Turn written scene concepts into short videos with Gemini Omni Flash, with landscape or portrait framing and output up to 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Turn written scene concepts into short videos with Gemini Omni Flash, with landscape or portrait framing and output up to 4K. ## Models * **google/gemini-omni-flash/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Choose from `720p`, `1080p`, `4k` output resolutions. * Supports landscape (`16:9`) and portrait (`9:16`) framing. ## Duration Options * **4, 6, 8, 10 seconds** - Set `duration` to one of these values. Default: **6 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Resolution * `resolution`: `720p`, `1080p`, `4k`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `16:9`, `9:16`. Default: `16:9`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Omni Flash Video Edit Source: https://docs.vidgo.ai/api-manual/video-series/google-gemini-omni-flash-video-edit api-manual/video-series/google-gemini-omni-flash-video-edit.json POST /api/generate/submit Rework existing video with Gemini Omni Flash, using written instructions to guide changes to the scene with output up to 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Rework existing video with Gemini Omni Flash, using written instructions to guide changes to the scene with output up to 4K. ## Models * **google/gemini-omni-flash/video-edit** - Edit an existing video using written instructions. ## Features * Edit an existing video using written instructions. * Choose from `720p`, `1080p`, `4k` output resolutions. * Supports landscape (`16:9`) and portrait (`9:16`) framing. ## Duration Options * Provide one source video in `video_urls`. This workflow does not impose a source-video duration limit. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the requested changes to the video. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Source Video * `video_urls`: Required. Provide an array containing exactly one publicly accessible source video URL. ### Resolution * `resolution`: `720p`, `1080p`, `4k`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `16:9`, `9:16`. Default: `16:9`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Video Models Source: https://docs.vidgo.ai/api-manual/video-series/overview All video generation models available on Vidgo API, with their model IDs. Every video model is called through `POST /api/generate/submit`. Send a model ID in `model`, the model's parameters in `input`, and an optional `callback_url`. The request returns a `task_id` right away and the task runs asynchronously. ## Workflow 1. Submit a task to `POST /api/generate/submit` with a model ID from the table below. 2. Poll [Get Task Status](/api-manual/task-management/status) with the returned `task_id`, or receive the result at `callback_url` (see [Webhook Callbacks](/api-manual/task-management/webhooks)). 3. Download the files in `files` when the status is `finished`. Some models expose one model ID per mode, such as text-to-video, image-to-video, or reference-to-video. Others use a single ID and choose the mode from the inputs you send; see each model page. ## Models | Model | Provider | Model IDs | | - | - | - | | [Veo 3.1 Official](/api-manual/video-series/veo-3-1-official) | Google | `veo3.1-fast-official` `veo3.1-lite-official` `veo3.1-quality-official` | | [Veo 3.1](/api-manual/video-series/veo-3-1) | Google | `veo3.1-fast` `veo3.1-quality` | | [Veo 3.1 Fast Text to Video](/api-manual/video-series/veo3-1-fast-text-to-video) | Google | `veo3.1-fast/text-to-video` | | [Veo 3.1 Fast Image to Video](/api-manual/video-series/veo3-1-fast-image-to-video) | Google | `veo3.1-fast/image-to-video` | | [Veo 3.1 Fast Reference to Video](/api-manual/video-series/veo3-1-fast-reference-to-video) | Google | `veo3.1-fast/reference-to-video` | | [Veo 3.1 Lite Text to Video](/api-manual/video-series/veo3-1-lite-text-to-video) | Google | `veo3.1-lite/text-to-video` | | [Veo 3.1 Quality Text to Video](/api-manual/video-series/veo3-1-text-to-video) | Google | `veo3.1/text-to-video` | | [Veo 3.1 Quality Image to Video](/api-manual/video-series/veo3-1-image-to-video) | Google | `veo3.1/image-to-video` | | [Gemini Omni 1.1 Flash Text to Video](/api-manual/video-series/google-gemini-omni-1-1-flash-text-to-video) | Google | `google/gemini-omni-1.1-flash/text-to-video` | | [Gemini Omni 1.1 Flash Image to Video](/api-manual/video-series/google-gemini-omni-1-1-flash-image-to-video) | Google | `google/gemini-omni-1.1-flash/image-to-video` | | [Gemini Omni 1.1 Flash Reference to Video](/api-manual/video-series/google-gemini-omni-1-1-flash-reference-to-video) | Google | `google/gemini-omni-1.1-flash/reference-to-video` | | [Gemini Omni 1.1 Flash Video Edit](/api-manual/video-series/google-gemini-omni-1-1-flash-video-edit) | Google | `google/gemini-omni-1.1-flash/video-edit` | | [Omni Flash Text to Video](/api-manual/video-series/google-gemini-omni-flash-text-to-video) | Google | `google/gemini-omni-flash/text-to-video` | | [Omni Flash Image to Video](/api-manual/video-series/google-gemini-omni-flash-image-to-video) | Google | `google/gemini-omni-flash/image-to-video` | | [Omni Flash Reference to Video](/api-manual/video-series/google-gemini-omni-flash-reference-to-video) | Google | `google/gemini-omni-flash/reference-to-video` | | [Omni Flash Video Edit](/api-manual/video-series/google-gemini-omni-flash-video-edit) | Google | `google/gemini-omni-flash/video-edit` | | [Veo 3.1 Official Text to Video](/api-manual/video-series/google-veo3-1-text-to-video) | Google | `google/veo3.1/text-to-video` | | [Veo 3.1 Official Image to Video](/api-manual/video-series/google-veo3-1-image-to-video) | Google | `google/veo3.1/image-to-video` | | [Veo 3.1 Fast Text to Video](/api-manual/video-series/google-veo3-1-fast-text-to-video) | Google | `google/veo3.1-fast/text-to-video` | | [Veo 3.1 Fast Image to Video](/api-manual/video-series/google-veo3-1-fast-image-to-video) | Google | `google/veo3.1-fast/image-to-video` | | [Veo 3.1 Lite Text to Video](/api-manual/video-series/google-veo3-1-lite-text-to-video) | Google | `google/veo3.1-lite/text-to-video` | | [Veo 3.1 Lite Image to Video](/api-manual/video-series/google-veo3-1-lite-image-to-video) | Google | `google/veo3.1-lite/image-to-video` | | [FLUX 3 Text to Video](/api-manual/video-series/blackforestlabs-flux-3-text-to-video) | Flux | `blackforestlabs/flux-3/text-to-video` | | [FLUX 3 Image to Video](/api-manual/video-series/blackforestlabs-flux-3-image-to-video) | Flux | `blackforestlabs/flux-3/image-to-video` | | [FLUX 3 First Last Frame to Video](/api-manual/video-series/blackforestlabs-flux-3-first-last-frame-to-video) | Flux | `blackforestlabs/flux-3/first-last-frame-to-video` | | [FLUX 3 Extend Video](/api-manual/video-series/blackforestlabs-flux-3-extend-video) | Flux | `blackforestlabs/flux-3/extend-video` | | [FLUX 3 Keyframes to Video](/api-manual/video-series/blackforestlabs-flux-3-keyframes-to-video) | Flux | `blackforestlabs/flux-3/keyframes-to-video` | | [FLUX 3 Max Text to Video](/api-manual/video-series/blackforestlabs-flux-3-max-text-to-video) | Flux | `blackforestlabs/flux-3-max/text-to-video` | | [FLUX 3 Max Image to Video](/api-manual/video-series/blackforestlabs-flux-3-max-image-to-video) | Flux | `blackforestlabs/flux-3-max/image-to-video` | | [FLUX 3 Max Keyframes to Video](/api-manual/video-series/blackforestlabs-flux-3-max-keyframes-to-video) | Flux | `blackforestlabs/flux-3-max/keyframes-to-video` | | [Kling 3.0](/api-manual/video-series/kling-3-0) | Kling | `kling-3.0/pro` `kling-3.0/standard` | | [Kling 3.0 Standard Text to Video](/api-manual/video-series/kwaivgi-kling-v3-0-std-text-to-video) | Kling | `kwaivgi/kling-v3.0-std/text-to-video` | | [Kling 3.0 Standard Image to Video](/api-manual/video-series/kwaivgi-kling-v3-0-std-image-to-video) | Kling | `kwaivgi/kling-v3.0-std/image-to-video` | | [Kling 3.0 Pro Text to Video](/api-manual/video-series/kwaivgi-kling-v3-0-pro-text-to-video) | Kling | `kwaivgi/kling-v3.0-pro/text-to-video` | | [Kling 3.0 Pro Image to Video](/api-manual/video-series/kwaivgi-kling-v3-0-pro-image-to-video) | Kling | `kwaivgi/kling-v3.0-pro/image-to-video` | | [Kling 3.0 4K Text to Video](/api-manual/video-series/kwaivgi-kling-v3-0-4k-text-to-video) | Kling | `kwaivgi/kling-v3.0-4k/text-to-video` | | [Kling 3.0 4K Image to Video](/api-manual/video-series/kwaivgi-kling-v3-0-4k-image-to-video) | Kling | `kwaivgi/kling-v3.0-4k/image-to-video` | | [Kling 3.0 Motion Control](/api-manual/video-series/kling-3-0-motion-control) | Kling | `kling-3.0-motion-control` | | [Kling 2.6 Pro Text to Video](/api-manual/video-series/kwaivgi-kling-v2-6-pro-text-to-video) | Kling | `kwaivgi/kling-v2.6-pro/text-to-video` | | [Kling 2.6 Pro Image to Video](/api-manual/video-series/kwaivgi-kling-v2-6-pro-image-to-video) | Kling | `kwaivgi/kling-v2.6-pro/image-to-video` | | [Kling 2.6 Motion Control](/api-manual/video-series/kling-2.6-motion-control) | Kling | `kling-2.6-motion-control` | | [Kling 2.5 Turbo Pro Text to Video](/api-manual/video-series/kwaivgi-kling-v2-5-turbo-pro-text-to-video) | Kling | `kwaivgi/kling-v2.5-turbo-pro/text-to-video` | | [Kling 2.5 Turbo Pro Image to Video](/api-manual/video-series/kwaivgi-kling-v2-5-turbo-pro-image-to-video) | Kling | `kwaivgi/kling-v2.5-turbo-pro/image-to-video` | | [Kling 2.1](/api-manual/video-series/kling-2-1) | Kling | `kling-2.1/pro` `kling-2.1/standard` | | [Kling 2.1 Image to Video](/api-manual/video-series/kwaivgi-kling-video-v2-1-standard-image-to-video) | Kling | `kwaivgi/kling-video/v2.1/standard/image-to-video` | | [Kling 2.1 Pro Image to Video](/api-manual/video-series/kwaivgi-kling-video-v2-1-pro-image-to-video) | Kling | `kwaivgi/kling-video/v2.1/pro/image-to-video` | | [Kling 1.6](/api-manual/video-series/kling-1-6) | Kling | `kling-1.6/pro` `kling-1.6/standard` | | [Kling 1.6 Standard Text to Video](/api-manual/video-series/kwaivgi-kling-video-v1-6-standard-text-to-video) | Kling | `kwaivgi/kling-video/v1.6/standard/text-to-video` | | [Kling 1.6 Standard Image to Video](/api-manual/video-series/kwaivgi-kling-video-v1-6-standard-image-to-video) | Kling | `kwaivgi/kling-video/v1.6/standard/image-to-video` | | [Kling 1.6 Pro Text to Video](/api-manual/video-series/kwaivgi-kling-video-v1-6-pro-text-to-video) | Kling | `kwaivgi/kling-video/v1.6/pro/text-to-video` | | [Kling 1.6 Pro Image to Video](/api-manual/video-series/kwaivgi-kling-video-v1-6-pro-image-to-video) | Kling | `kwaivgi/kling-video/v1.6/pro/image-to-video` | | [Kling 3.0 Turbo Standard Text to Video](/api-manual/video-series/kwaivgi-kling-v3-turbo-std-text-to-video) | Kling | `kwaivgi/kling-v3-turbo-std/text-to-video` | | [Kling 3.0 Turbo Standard Image to Video](/api-manual/video-series/kwaivgi-kling-v3-turbo-std-image-to-video) | Kling | `kwaivgi/kling-v3-turbo-std/image-to-video` | | [Kling 3.0 Turbo Pro Text to Video](/api-manual/video-series/kwaivgi-kling-v3-turbo-pro-text-to-video) | Kling | `kwaivgi/kling-v3-turbo-pro/text-to-video` | | [Kling 3.0 Turbo Pro Image to Video](/api-manual/video-series/kwaivgi-kling-v3-turbo-pro-image-to-video) | Kling | `kwaivgi/kling-v3-turbo-pro/image-to-video` | | [Kling 3.0 Standard Motion Control](/api-manual/video-series/kwaivgi-kling-v3-0-std-motion-control) | Kling | `kwaivgi/kling-v3.0-std/motion-control` | | [Kling 3.0 Pro Motion Control](/api-manual/video-series/kwaivgi-kling-v3-0-pro-motion-control) | Kling | `kwaivgi/kling-v3.0-pro/motion-control` | | [Kling 2.6 Standard Motion Control](/api-manual/video-series/kwaivgi-kling-v2-6-std-motion-control) | Kling | `kwaivgi/kling-v2.6-std/motion-control` | | [Kling 2.6 Pro Motion Control](/api-manual/video-series/kwaivgi-kling-v2-6-pro-motion-control) | Kling | `kwaivgi/kling-v2.6-pro/motion-control` | | [Kling Avatar 2.0 Standard](/api-manual/video-series/kwaivgi-kling-video-ai-avatar-v2-standard) | Kling | `kwaivgi/kling-video/ai-avatar/v2/standard` | | [Kling Avatar 2.0 Pro](/api-manual/video-series/kwaivgi-kling-video-ai-avatar-v2-pro) | Kling | `kwaivgi/kling-video/ai-avatar/v2/pro` | | [Kling O3 Standard Text To Video](/api-manual/video-series/kwaivgi-kling-video-o3-std-text-to-video) | Kling | `kwaivgi/kling-video-o3-std/text-to-video` | | [Kling O3 Standard Image To Video](/api-manual/video-series/kwaivgi-kling-video-o3-std-image-to-video) | Kling | `kwaivgi/kling-video-o3-std/image-to-video` | | [Kling O3 Pro Text To Video](/api-manual/video-series/kwaivgi-kling-video-o3-pro-text-to-video) | Kling | `kwaivgi/kling-video-o3-pro/text-to-video` | | [Kling O3 Pro Image To Video](/api-manual/video-series/kwaivgi-kling-video-o3-pro-image-to-video) | Kling | `kwaivgi/kling-video-o3-pro/image-to-video` | | [Kling O3 4K Text To Video](/api-manual/video-series/kwaivgi-kling-video-o3-4k-text-to-video) | Kling | `kwaivgi/kling-video-o3-4k/text-to-video` | | [Kling O3 4K Image To Video](/api-manual/video-series/kwaivgi-kling-video-o3-4k-image-to-video) | Kling | `kwaivgi/kling-video-o3-4k/image-to-video` | | [Kling 4.0 Text to Video](/api-manual/video-series/kwaivgi-kling-v4-0-text-to-video) | Kling | `kwaivgi/kling-v4.0/text-to-video` | | [Kling 4.0 Image to Video](/api-manual/video-series/kwaivgi-kling-v4-0-image-to-video) | Kling | `kwaivgi/kling-v4.0/image-to-video` | | [Kling 4.0 Reference to Video](/api-manual/video-series/kwaivgi-kling-v4-0-reference-to-video) | Kling | `kwaivgi/kling-v4.0/reference-to-video` | | [Kling 4.0 Video Edit](/api-manual/video-series/kwaivgi-kling-v4-0-video-edit) | Kling | `kwaivgi/kling-v4.0/video-edit` | | [Grok Imagine Text to Video](/api-manual/video-series/xai-grok-imagine-video-text-to-video) | Grok (xAI) | `xai/grok-imagine-video/text-to-video` | | [Grok Imagine Image to Video](/api-manual/video-series/xai-grok-imagine-video-image-to-video) | Grok (xAI) | `xai/grok-imagine-video/image-to-video` | | [Grok Imagine Video 1.5 Image to Video](/api-manual/video-series/xai-grok-imagine-video-v1-5-image-to-video) | Grok (xAI) | `xai/grok-imagine-video-v1.5/image-to-video` | | [Happy Horse](/api-manual/video-series/happy-horse) | Alibaba | `happy-horse` | | [Happy Horse Text to Video](/api-manual/video-series/alibaba-happyhorse-1-0-text-to-video) | Alibaba | `alibaba/happyhorse-1.0/text-to-video` | | [Happy Horse Image to Video](/api-manual/video-series/alibaba-happyhorse-1-0-image-to-video) | Alibaba | `alibaba/happyhorse-1.0/image-to-video` | | [Happy Horse Reference to Video](/api-manual/video-series/alibaba-happyhorse-1-0-reference-to-video) | Alibaba | `alibaba/happyhorse-1.0/reference-to-video` | | [Happy Horse Video Edit](/api-manual/video-series/alibaba-happyhorse-1-0-video-edit) | Alibaba | `alibaba/happyhorse-1.0/video-edit` | | [Happy Horse 1.1 Text to Video](/api-manual/video-series/alibaba-happyhorse-1-1-text-to-video) | Alibaba | `alibaba/happyhorse-1.1/text-to-video` | | [Happy Horse 1.1 Image to Video](/api-manual/video-series/alibaba-happyhorse-1-1-image-to-video) | Alibaba | `alibaba/happyhorse-1.1/image-to-video` | | [Happy Horse 1.1 Reference to Video](/api-manual/video-series/alibaba-happyhorse-1-1-reference-to-video) | Alibaba | `alibaba/happyhorse-1.1/reference-to-video` | | [Wan 2.6](/api-manual/video-series/wan-2-6) | Alibaba | `wan2.6-image-to-video` `wan2.6-text-to-video` `wan2.6-video-to-video` | | [Wan 2.5 Text-to-Video](/api-manual/video-series/wan2.5-text-to-video) | Alibaba | `wan2.5-text-to-video` | | [Wan 2.5 Image-to-Video](/api-manual/video-series/wan2.5-image-to-video) | Alibaba | `wan2.5-image-to-video` | | [Wan 2.5 Text to Video](/api-manual/video-series/alibaba-wan-2-5-text-to-video) | Alibaba | `alibaba/wan-2.5/text-to-video` | | [Wan 2.5 Image to Video](/api-manual/video-series/alibaba-wan-2-5-image-to-video) | Alibaba | `alibaba/wan-2.5/image-to-video` | | [Wan 2.2 Text-to-Video Fast](/api-manual/video-series/wan2.2-text-to-video-fast) | Alibaba | `wan2.2-text-to-video-fast` | | [Wan 2.2 Image-to-Video Fast](/api-manual/video-series/wan2.2-image-to-video-fast) | Alibaba | `wan2.2-image-to-video-fast` | | [Wan Animate Move](/api-manual/video-series/alibaba-wan-v2-2-14b-animate-move) | Alibaba | `alibaba/wan/v2.2-14b/animate/move` | | [Wan Animate Replace](/api-manual/video-series/alibaba-wan-v2-2-14b-animate-replace) | Alibaba | `alibaba/wan/v2.2-14b/animate/replace` | | [Wan 3.0 Text to Video](/api-manual/video-series/alibaba-wan-3-0-text-to-video) | Alibaba | `alibaba/wan-3.0/text-to-video` | | [Wan 3.0 Image to Video](/api-manual/video-series/alibaba-wan-3-0-image-to-video) | Alibaba | `alibaba/wan-3.0/image-to-video` | | [Wan 3.0 Reference to Video](/api-manual/video-series/alibaba-wan-3-0-reference-to-video) | Alibaba | `alibaba/wan-3.0/reference-to-video` | | [Wan 3.0 Video Prime Text to Video](/api-manual/video-series/alibaba-wan-3-0-prime-text-to-video) | Alibaba | `alibaba/wan-3.0-prime/text-to-video` | | [Wan 3.0 Video Prime Image to Video](/api-manual/video-series/alibaba-wan-3-0-prime-image-to-video) | Alibaba | `alibaba/wan-3.0-prime/image-to-video` | | [Wan 3.0 Video Prime Reference to Video](/api-manual/video-series/alibaba-wan-3-0-prime-reference-to-video) | Alibaba | `alibaba/wan-3.0-prime/reference-to-video` | | [Wan 2.7 Video Text to Video](/api-manual/video-series/alibaba-wan-2-7-text-to-video) | Alibaba | `alibaba/wan-2.7/text-to-video` | | [Wan 2.7 Video Image to Video](/api-manual/video-series/alibaba-wan-2-7-image-to-video) | Alibaba | `alibaba/wan-2.7/image-to-video` | | [Wan 2.7 Video Reference to Video](/api-manual/video-series/alibaba-wan-2-7-reference-to-video) | Alibaba | `alibaba/wan-2.7/reference-to-video` | | [Wan 2.7 Video Edit](/api-manual/video-series/alibaba-wan-2-7-video-edit) | Alibaba | `alibaba/wan-2.7/video-edit` | | [Wan 2.6 Text to Video](/api-manual/video-series/alibaba-wan-2-6-text-to-video) | Alibaba | `alibaba/wan-2.6/text-to-video` | | [Wan 2.6 Image to Video](/api-manual/video-series/alibaba-wan-2-6-image-to-video) | Alibaba | `alibaba/wan-2.6/image-to-video` | | [Wan 2.6 Reference to Video](/api-manual/video-series/alibaba-wan-2-6-reference-to-video) | Alibaba | `alibaba/wan-2.6/reference-to-video` | | [Hailuo 2.3](/api-manual/video-series/hailuo-2-3) | MiniMax / Hailuo | `hailuo-2.3` | | [Hailuo 2.3 Text to Video](/api-manual/video-series/minimax-hailuo-2-3-standard-text-to-video) | MiniMax / Hailuo | `minimax/hailuo-2.3/standard/text-to-video` | | [Hailuo 2.3 Image to Video](/api-manual/video-series/minimax-hailuo-2-3-standard-image-to-video) | MiniMax / Hailuo | `minimax/hailuo-2.3/standard/image-to-video` | | [Hailuo 2.3 Pro Text to Video](/api-manual/video-series/minimax-hailuo-2-3-pro-text-to-video) | MiniMax / Hailuo | `minimax/hailuo-2.3/pro/text-to-video` | | [Hailuo 2.3 Pro Image to Video](/api-manual/video-series/minimax-hailuo-2-3-pro-image-to-video) | MiniMax / Hailuo | `minimax/hailuo-2.3/pro/image-to-video` | | [Hailuo 02](/api-manual/video-series/hailuo-02) | MiniMax / Hailuo | `hailuo-02` `hailuo-02-pro` | | [MiniMax H3 Text to Video](/api-manual/video-series/minimax-h3-text-to-video) | MiniMax / Hailuo | `minimax/h3/text-to-video` | | [MiniMax H3 Image to Video](/api-manual/video-series/minimax-h3-image-to-video) | MiniMax / Hailuo | `minimax/h3/image-to-video` | | [MiniMax H3 Reference to Video](/api-manual/video-series/minimax-h3-reference-to-video) | MiniMax / Hailuo | `minimax/h3/reference-to-video` | | [MiniMax H3 Max Text to Video](/api-manual/video-series/minimax-h3-max-text-to-video) | MiniMax / Hailuo | `minimax/h3-max/text-to-video` | | [MiniMax H3 Max Image to Video](/api-manual/video-series/minimax-h3-max-image-to-video) | MiniMax / Hailuo | `minimax/h3-max/image-to-video` | | [MiniMax H3 Max Reference to Video](/api-manual/video-series/minimax-h3-max-reference-to-video) | MiniMax / Hailuo | `minimax/h3-max/reference-to-video` | | [MiniMax H3 Max Turbo Text to Video](/api-manual/video-series/minimax-h3-max-turbo-text-to-video) | MiniMax / Hailuo | `minimax/h3-max-turbo/text-to-video` | | [MiniMax H3 Max Turbo Image to Video](/api-manual/video-series/minimax-h3-max-turbo-image-to-video) | MiniMax / Hailuo | `minimax/h3-max-turbo/image-to-video` | | [Hailuo 02 Text to Video](/api-manual/video-series/minimax-hailuo-02-standard-text-to-video) | MiniMax / Hailuo | `minimax/hailuo-02/standard/text-to-video` | | [Hailuo 02 Image to Video](/api-manual/video-series/minimax-hailuo-02-standard-image-to-video) | MiniMax / Hailuo | `minimax/hailuo-02/standard/image-to-video` | | [Hailuo 02 Pro Text to Video](/api-manual/video-series/minimax-hailuo-02-pro-text-to-video) | MiniMax / Hailuo | `minimax/hailuo-02/pro/text-to-video` | | [Hailuo 02 Pro Image to Video](/api-manual/video-series/minimax-hailuo-02-pro-image-to-video) | MiniMax / Hailuo | `minimax/hailuo-02/pro/image-to-video` | | [Runway Gen-4.5](/api-manual/video-series/runway-gen-4-5) | Runway | `runway-gen-4.5` | | [Seedance 2](/api-manual/video-series/seedance-2) | Seedance | `seedance-2` `seedance-2-fast` | | [Seedance 2.5 Text to Video](/api-manual/video-series/seedance-2-5-text-to-video) | Seedance | `seedance-2.5/text-to-video` | | [Seedance 2.5 Image to Video](/api-manual/video-series/seedance-2-5-image-to-video) | Seedance | `seedance-2.5/image-to-video` | | [Seedance 2.5 Reference to Video](/api-manual/video-series/seedance-2-5-reference-to-video) | Seedance | `seedance-2.5/reference-to-video` | | [Seedance 2.0 Text to Video](/api-manual/video-series/seedance-2-0-text-to-video) | Seedance | `seedance-2` `seedance-2.0/text-to-video` | | [Seedance 2.0 Image to Video](/api-manual/video-series/seedance-2-0-image-to-video) | Seedance | `seedance-2` `seedance-2.0/image-to-video` | | [Seedance 2.0 Reference to Video](/api-manual/video-series/seedance-2-0-reference-to-video) | Seedance | `seedance-2` `seedance-2.0/reference-to-video` | | [Seedance 2.0 Fast Text to Video](/api-manual/video-series/seedance-2-0-fast-text-to-video) | Seedance | `seedance-2-fast` `seedance-2.0-fast/text-to-video` | | [Seedance 2.0 Fast Image to Video](/api-manual/video-series/seedance-2-0-fast-image-to-video) | Seedance | `seedance-2-fast` `seedance-2.0-fast/image-to-video` | | [Seedance 2.0 Fast Reference to Video](/api-manual/video-series/seedance-2-0-fast-reference-to-video) | Seedance | `seedance-2-fast` `seedance-2.0-fast/reference-to-video` | | [Seedance 2.0 Mini Text to Video](/api-manual/video-series/seedance-2-0-mini-text-to-video) | Seedance | `seedance-2.0-mini/text-to-video` | | [Seedance 2.0 Mini Image to Video](/api-manual/video-series/seedance-2-0-mini-image-to-video) | Seedance | `seedance-2.0-mini/image-to-video` | | [Seedance 2.0 Mini Reference to Video](/api-manual/video-series/seedance-2-0-mini-reference-to-video) | Seedance | `seedance-2.0-mini/reference-to-video` | | [Seedance 1.5 Pro](/api-manual/video-series/seedance-1-5-pro) | Seedance | `seedance-1.5-pro` | | [Seedance 1.5 Pro Text to Video](/api-manual/video-series/bytedance-seedance-v1-5-pro-text-to-video) | Seedance | `bytedance/seedance-v1.5-pro/text-to-video` | | [Seedance 1.5 Pro Image to Video](/api-manual/video-series/bytedance-seedance-v1-5-pro-image-to-video) | Seedance | `bytedance/seedance-v1.5-pro/image-to-video` | | [Seedance 1.0 Pro](/api-manual/video-series/seedance-1.0-pro) | Seedance | `seedance-1.0-pro` | | [Seedance 1.0 Pro Text to Video](/api-manual/video-series/bytedance-seedance-v1-pro-text-to-video) | Seedance | `bytedance/seedance/v1/pro/text-to-video` | | [Seedance 1.0 Pro Image to Video](/api-manual/video-series/bytedance-seedance-v1-pro-image-to-video) | Seedance | `bytedance/seedance/v1/pro/image-to-video` | | [Vidu Q4 Image to Video](/api-manual/video-series/vidu-q4-image-to-video) | Vidu | `vidu/q4/image-to-video` | | [Vidu Q4 Reference to Video](/api-manual/video-series/vidu-q4-reference-to-video) | Vidu | `vidu/q4/reference-to-video` | | [OmniHuman 2.0 Audio to Video](/api-manual/video-series/bytedance-omnihuman-2-0-audio-to-video) | OmniHuman (ByteDance) | `bytedance/omnihuman-2.0/audio-to-video` | | [PixVerse V6 Max Text to Video](/api-manual/video-series/pixverse-v6-max-text-to-video) | PixVerse | `pixverse/v6-max/text-to-video` | | [PixVerse V6 Max Image to Video](/api-manual/video-series/pixverse-v6-max-image-to-video) | PixVerse | `pixverse/v6-max/image-to-video` | ## Notes * Each model page lists the parameters, limits, and modes for its model IDs. Parameters are not shared across models. * Generated files are valid for 24 hours after creation. Download and store them promptly. * URL inputs must be publicly accessible HTTP(S) URLs. To use local files, upload them first with [File Management](/api-manual/file-series/upload-url). # Veo 3.1 Source: https://docs.vidgo.ai/api-manual/video-series/veo-3-1 api-manual/video-series/veo-3-1.json POST /api/generate/submit Fast and high-quality 8-second video generation with Google's VEO 3.1 > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate fast or high-quality 8-second videos with Google's VEO 3.1 model. Supports text-to-video and image-to-video generation. ## Models * **veo3.1-fast** - Fast 8-second generation * **veo3.1-quality** - High-quality 8-second generation ## Features * Asynchronous processing that returns a `task_id` for status tracking * Supports text-to-video and image-to-video generation * Supports up to 4k output resolution * Generated video URLs are valid for 24 hours ## Duration Options * **8 seconds** - Fixed duration for all generations ## Advanced Parameters ### Generation Type * `frame` - Frame-to-video (two images) * `reference` - Reference image video (three images) * If omitted, inferred by `image_urls` count: 2 images for `frame`, 3 images for `reference` ### Image URLs * Supports up to 3 images * Frame mode: first image is the start frame, second image is the end frame * Maximum file size: 10MB * Supported formats: .jpeg, .jpg, .png, .webp ### Resolution * `720p` (default), `1080p`, or `4k` # Veo 3.1 Official Source: https://docs.vidgo.ai/api-manual/video-series/veo-3-1-official api-manual/video-series/veo-3-1-official.json POST /api/generate/submit Official VEO 3.1 video generation with duration, audio control, and image-guided modes > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate videos with the official VEO 3.1 model family through one async API. The generation models support text-to-video, image-to-video, first/last-frame video, and three-image reference generation depending on the selected model and input. ## Models * **veo3.1-fast-official** - Fast official generation with `4`, `6`, or `8` second duration options * **veo3.1-lite-official** - Lightweight official generation with lower per-second pricing * **veo3.1-quality-official** - Higher-quality official generation with 4K support ## Input modes * No `image_urls`: text-to-video * One image: image-to-video * Two images: first/last-frame video. The first image is the start frame and the second image is the end frame * Three images: reference generation. Use `generation_type: "reference"` and `duration: 8` * `veo3.1-lite-official` supports at most two images and does not support `generation_type: "reference"` ## Parameters * **model**: Required model identifier. Use `veo3.1-fast-official`, `veo3.1-lite-official`, or `veo3.1-quality-official` * **prompt**: Required text prompt for video generation, up to `1000` characters * **image\_urls**: Optional image URL array. Supports up to `3` public image URLs * **generation\_type**: Optional `frame` or `reference`. If omitted, the mode is inferred from `image_urls` * **duration**: `4`, `6`, or `8`. Default is `8`. Reference generation and `veo3.1-lite-official` with `resolution: "1080p"` support `8` only * **aspect\_ratio**: `16:9` or `9:16`. `auto` is also supported for one-image and two-image workflows. Default is `16:9` * **resolution**: `720p`, `1080p`, or `4k`. Default is `1080p`. `veo3.1-lite-official` does not support `4k` * **sound**: Boolean audio switch. Default is `true`; set `false` for silent output * **callback\_url**: Optional webhook URL for completion or failure notifications ## Pricing Pricing is charged per generated second and varies by model, resolution, and whether audio is generated. See the model page for the current credit table. ## Workflow IDs Existing IDs remain available. New integrations can select a dedicated workflow: * [google/veo3.1/text-to-video](/api-manual/video-series/google-veo3-1-text-to-video) * [google/veo3.1/image-to-video](/api-manual/video-series/google-veo3-1-image-to-video) * [google/veo3.1-fast/text-to-video](/api-manual/video-series/google-veo3-1-fast-text-to-video) * [google/veo3.1-fast/image-to-video](/api-manual/video-series/google-veo3-1-fast-image-to-video) * [google/veo3.1-lite/text-to-video](/api-manual/video-series/google-veo3-1-lite-text-to-video) * [google/veo3.1-lite/image-to-video](/api-manual/video-series/google-veo3-1-lite-image-to-video) # Veo 3.1 Fast Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/veo3-1-fast-image-to-video api-manual/video-series/veo3-1-fast-image-to-video.json POST /api/generate/submit Google Veo 3.1 Fast image to video model with fixed 8-second output > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate an 8-second video with the Google Veo 3.1 Fast model. ## Models * **veo3.1-fast/image-to-video** - Veo 3.1 Fast image to video generation ## Features * Generate between an explicit starting frame and ending frame. * Supports up to `4k` output resolution. * Generated video URLs are temporary and should be downloaded promptly. ## Duration Options * **8 seconds** - Fixed duration for this model. ## Advanced Parameters ### Generation Type * The model ID fixes generation to `image-to-video`. ### Image URLs * Provide exactly two images in starting-frame, ending-frame order. * Images must be publicly accessible and directly downloadable. ### Resolution * `720p` (default), `1080p`, or `4k`. ## Pricing Pricing varies by model variant and resolution. Check the Vidgo dashboard for the current rate. # Veo 3.1 Fast Reference to Video Source: https://docs.vidgo.ai/api-manual/video-series/veo3-1-fast-reference-to-video api-manual/video-series/veo3-1-fast-reference-to-video.json POST /api/generate/submit Google Veo 3.1 Fast reference to video model with fixed 8-second output > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate an 8-second video with the Google Veo 3.1 Fast model. ## Models * **veo3.1-fast/reference-to-video** - Veo 3.1 Fast reference to video generation ## Features * Guide Veo 3.1 Fast with exactly three reference images. * Supports up to `4k` output resolution. * Generated video URLs are temporary and should be downloaded promptly. ## Duration Options * **8 seconds** - Fixed duration for this model. ## Advanced Parameters ### Generation Type * The model ID fixes generation to `reference-to-video`. ### Image URLs * Provide exactly three reference images. * Images must be publicly accessible and directly downloadable. ### Resolution * `720p` (default), `1080p`, or `4k`. ## Pricing Pricing varies by model variant and resolution. Check the Vidgo dashboard for the current rate. # Veo 3.1 Fast Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/veo3-1-fast-text-to-video api-manual/video-series/veo3-1-fast-text-to-video.json POST /api/generate/submit Google Veo 3.1 Fast text to video model with fixed 8-second output > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate an 8-second video with the Google Veo 3.1 Fast model. ## Models * **veo3.1-fast/text-to-video** - Veo 3.1 Fast text to video generation ## Features * Generate directly from a text prompt without image input. * Supports up to `4k` output resolution. * Generated video URLs are temporary and should be downloaded promptly. ## Duration Options * **8 seconds** - Fixed duration for this model. ## Advanced Parameters ### Generation Type * The model ID fixes generation to `text-to-video`. ### Resolution * `720p` (default), `1080p`, or `4k`. ## Pricing Pricing varies by model variant and resolution. Check the Vidgo dashboard for the current rate. # Veo 3.1 Quality Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/veo3-1-image-to-video api-manual/video-series/veo3-1-image-to-video.json POST /api/generate/submit Google Veo 3.1 Quality image to video model with fixed 8-second output > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate an 8-second video with the Google Veo 3.1 Quality model. ## Models * **veo3.1/image-to-video** - Veo 3.1 Quality image to video generation ## Features * Generate between an explicit starting frame and ending frame. * Supports up to `4k` output resolution. * Generated video URLs are temporary and should be downloaded promptly. ## Duration Options * **8 seconds** - Fixed duration for this model. ## Advanced Parameters ### Generation Type * The model ID fixes generation to `image-to-video`. ### Image URLs * Provide exactly two images in starting-frame, ending-frame order. * Images must be publicly accessible and directly downloadable. ### Resolution * `720p` (default), `1080p`, or `4k`. ## Pricing Pricing varies by model variant and resolution. Check the Vidgo dashboard for the current rate. # Veo 3.1 Lite Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/veo3-1-lite-text-to-video api-manual/video-series/veo3-1-lite-text-to-video.json POST /api/generate/submit Google Veo 3.1 Lite text to video model with fixed 8-second output > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate an 8-second video with the Google Veo 3.1 Lite model. ## Models * **veo3.1-lite/text-to-video** - Veo 3.1 Lite text to video generation ## Features * Generate directly from a text prompt without image input. * Supports up to `4k` output resolution. * Generated video URLs are temporary and should be downloaded promptly. ## Duration Options * **8 seconds** - Fixed duration for this model. ## Advanced Parameters ### Generation Type * The model ID fixes generation to `text-to-video`. ### Resolution * `720p` (default), `1080p`, or `4k`. * `4k` is available on this model ID only. The `google/veo3.1-lite/text-to-video`, `google/veo3.1-lite/image-to-video` and `veo3.1-lite-official` IDs run a different Veo 3.1 Lite route and support `720p` and `1080p` only. ## Pricing Pricing varies by model variant and resolution. Check the Vidgo dashboard for the current rate. # Veo 3.1 Quality Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/veo3-1-text-to-video api-manual/video-series/veo3-1-text-to-video.json POST /api/generate/submit Google Veo 3.1 Quality text to video model with fixed 8-second output > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate an 8-second video with the Google Veo 3.1 Quality model. ## Models * **veo3.1/text-to-video** - Veo 3.1 Quality text to video generation ## Features * Generate directly from a text prompt without image input. * Supports up to `4k` output resolution. * Generated video URLs are temporary and should be downloaded promptly. ## Duration Options * **8 seconds** - Fixed duration for this model. ## Advanced Parameters ### Generation Type * The model ID fixes generation to `text-to-video`. ### Resolution * `720p` (default), `1080p`, or `4k`. ## Pricing Pricing varies by model variant and resolution. Check the Vidgo dashboard for the current rate. # Additional Models and Generated Files Source: https://docs.vidgo.ai/api-manual/workflow-guide Protocol support for additional chat models and file handling for audio and 3D workflows ## Chat model protocol support Use `https://api.vidgo.ai` and send your API key as `Authorization: Bearer VIDGO_API_KEY`. Claude clients may also use `x-api-key`; Gemini clients may use `x-goog-api-key`. Select the protocol supported by your model: | Model | Chat Completions | Responses | Claude Messages | Gemini native | | - | :-: | :-: | :-: | :-: | | `openai/gpt-6-astra` | Yes | Yes | — | — | | `anthropic/claude-fable-5.1` | Yes | — | Yes | — | | `xai/grok-4.6` | Yes | Yes | — | — | | `google/gemini-3.7-flash` | Yes | — | — | Yes | | `google/gemini-3.5-flash` | Yes | — | — | Yes | | `anthropic/claude-opus-4.8` | Yes | — | Yes | — | | `openai/gpt-5.5` | Yes | Yes | — | — | | `openai/gpt-5.4` | Yes | Yes | — | — | | `openai/gpt-5.2` | Yes | Yes | — | — | | `anthropic/claude-sonnet-4.6` | Yes | — | Yes | — | | `anthropic/claude-opus-4.6` | Yes | — | Yes | — | Both normal JSON responses and SSE streaming are supported. Use the exact model ID from the table with the request format for the corresponding endpoint: * [Chat Completions](/api-manual/chat-series/chat-completions): `POST /v1/chat/completions` * [Responses](/api-manual/chat-series/responses): `POST /v1/responses` * [Claude Messages](/api-manual/chat-series/claude-messages): `POST /v1/messages` * [Gemini Native Format](/api-manual/chat-series/gemini-native-format): `POST /v1beta/models/{model}:generateContent` ### Example request ```bash theme={null} curl https://api.vidgo.ai/v1/chat/completions \ -H "Authorization: Bearer $VIDGO_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"openai/gpt-6-astra","messages":[{"role":"user","content":"Hello"}]}' ``` ### Gemini model URLs Use the complete public ID in the URL, including the provider slash. For example: `/v1beta/models/google/gemini-3.7-flash:generateContent`. Streaming uses `:streamGenerateContent?alt=sse`. ## Audio and 3D generated files Audio and 3D workflows return a `task_id` through the unified submit API. Retrieve the completed results with [Query Task Status](/api-manual/task-management/status) or [Webhook Callbacks](/api-manual/task-management/webhooks). Process every item in the returned `files` array. Depending on the workflow, results can include audio, model assets, previews, textures, animation files, lyrics, and timestamp files. | Field | Type | Description | | - | - | - | | `file_url` | string | URL of the returned file. | | `file_type` | string | File category: `image`, `video`, `audio`, `lyrics`, `3d`, or `other`. | | `label` | string | Optional label identifying the file. | | `format` | string | Optional file format. | | `content_type` | string | Optional content type. | | `file_name` | string | Optional file name. | | `file_size` | integer | Optional file size in bytes. | | `metadata` | object | Optional file metadata. | Metadata fields are optional. Retain them when present, and do not assume that all files have the same type or that the first file is the only result. # FAQs Source: https://docs.vidgo.ai/faqs Frequently asked questions about Vidgo API Everything you need to know before you ship. > [accordion] What is Vidgo API? > > Vidgo API is an AI infrastructure platform. It gives you unified access to top AI models with one key, predictable pricing, and production-ready reliability. > [accordion] How do I get an API key? > > Create an account and generate your API key instantly from the dashboard. > [accordion] Is there a free tier? > > New accounts receive free credits so you can test models before scaling. > [accordion] Which models are available? > > We support leading image, video, and music models, with new additions every week. > [accordion] Do you offer enterprise support? > > Yes. Contact our team to discuss custom pricing, SLAs, and dedicated support. > [accordion] Where can I check current rates? > > See the [Pricing page](https://vidgo.ai/apis/api-pricing) or your Vidgo dashboard for current model rates. > [accordion] What affects generation costs? > > Cost depends on the selected model and its supported billing options. Image generation can depend on quality, resolution, output count, and reference image count. Video generation can depend on duration, resolution, audio generation, and reference-video duration. See each model page for the factors that apply to that workflow. > [accordion] Which music model do you use? > > We use Suno's official models, including the latest v5 model. Our music API supports generating tracks up to 8 minutes long with professional quality. > [accordion] Will I be charged for failed requests? > > No. We have transparent pricing and only charge for successful generations. Failed requests will automatically refund your credits. > [accordion] What payment methods do you support? > > We support multiple payment methods including Stripe (credit/debit cards), WeChat Pay, and cryptocurrency payments for maximum flexibility. > [accordion] How can I contact support if I have issues? > > You can reach us at [support@vidgo.ai](mailto:support@vidgo.ai). We're also gradually launching additional support channels like Discord - stay tuned for announcements on our website. # Getting Started Source: https://docs.vidgo.ai/index Make your first Vidgo API request and learn the request lifecycle for image, video, audio, music, 3D, and LLM models. # Build with Vidgo API Access image, video, audio, music, 3D, and LLM models through **one API key**. Generation models share one asynchronous submit-and-query workflow; LLM models use OpenAI-, Claude-, and Gemini-compatible endpoints. > [card] [Get an API key](https://vidgo.ai/apis/dashboard/api-key) > > Create and manage your keys in the Vidgo dashboard. > [card] [Make your first request](/api-manual/quickstart) > > Submit a task and poll its result with cURL, Python, or JavaScript. > [card] [Check pricing](https://vidgo.ai/apis/api-pricing) > > See current model rates. > [card] [Handle errors](/api-manual/error-codes) > > Response formats and HTTP status codes. > [card] [Build with your AI agent](https://vidgo.ai/apis/agent-setup) > > Connect Claude Code, Codex, Cursor or OpenCode to the Vidgo docs MCP server (`https://docs.vidgo.ai/mcp`) and copy a setup prompt that works in any coding agent. ## 1. Available models Each model category has an overview listing every model and its model IDs: > [card] [Image](/api-manual/image-series/overview) > > Text-to-image and image editing. > [card] [Video](/api-manual/video-series/overview) > > Text, image, and reference to video. > [card] [Audio](/api-manual/music-series/audio-overview) > > Text-to-speech. > [card] [LLM](/api-manual/chat-series/overview) > > GPT, Claude, Gemini, Grok, and Kimi. > [card] [3D](/api-manual/3d-series/overview) > > Text and image to 3D models. > [card] [Music](/api-manual/music-series/overview) > > Suno music actions and music models. ## 2. Authentication Create your API key on the [API key page](https://vidgo.ai/apis/dashboard/api-key). Every request must include: ```http theme={"dark"} Authorization: Bearer VIDGO_API_KEY Content-Type: application/json ``` [Claude Messages](/api-manual/chat-series/claude-messages) also accepts `x-api-key`, and [Gemini Native Format](/api-manual/chat-series/gemini-native-format) also accepts `x-goog-api-key`. > [!WARNING] > > **Never expose your API key** in frontend code (browser, mobile apps, public repositories). Keep it on your server. ## 3. Submit a generation task Generation is asynchronous. Submit a task to `POST /api/generate/submit` and save the returned `task_id`. ```bash theme={"dark"} curl https://api.vidgo.ai/api/generate/submit \ -H "Authorization: Bearer $VIDGO_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4o-image", "input": { "prompt": "A paper-cut illustration of a city at sunrise", "size": "1:1" } }' ``` > [!NOTE] > > A successful submit response means the task was accepted, not that generation has finished. ## 4. Retrieve the result ```bash theme={"dark"} curl "https://api.vidgo.ai/api/generate/status/TASK_ID" \ -H "Authorization: Bearer $VIDGO_API_KEY" ``` **1. Submit** Send the generation request and save the returned `task_id`. **2. Wait for the result** Poll [Get Task Status](/api-manual/task-management/status), or pass a `callback_url` and receive a [webhook](/api-manual/task-management/webhooks) when the task reaches `finished` or `failed`. **3. Store the output** Download the files in `files` and store them on your side. Suno music actions use [Query Music Detail](/api-manual/music-series/query-music-detail) and the [Music Webhook](/api-manual/music-series/music-webhook) instead of the unified task status endpoint. ## 5. Data retention > [!WARNING] > > Generated files are valid for **24 hours**. Download and store results promptly. ## 6. Before production > [!TIP] > > Keep API keys on your server; never expose them in browser or mobile code. > [!TIP] > > Validate inputs against the selected model page before submitting. > [!TIP] > > Handle `400`, `401`, `429`, and transient `5xx` responses explicitly; see [Error Codes](/api-manual/error-codes). > [!TIP] > > Treat every submission retry as potentially new paid work; confirm whether the original request created a task before resubmitting. > [!TIP] > > Check your remaining credits with [Query User Balance](/api-manual/account-management/user-balance). ## 7. Support > [card] [Email](mailto:support@vidgo.ai) > > `support@vidgo.ai` > [card] [FAQs](/faqs) > > Billing, models, and common questions. # Happy Horse Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-happyhorse-1-0-image-to-video api-manual/video-series/alibaba-happyhorse-1-0-image-to-video.json POST /api/generate/submit Animate a still image with Happy Horse, using text to guide the scene and motion in videos up to fifteen seconds long. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Animate a still image with Happy Horse, using text to guide the scene and motion in videos up to fifteen seconds long. ## Models * **alibaba/happyhorse-1.0/image-to-video** - Generate video from image input. ## Features * Animate a single reference image. * Choose from `720p`, `1080p` output resolutions. ## Duration Options * **3-15 seconds** - Set `duration` as an integer. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **2,500 characters**. ### Image URLs * `image_urls`: Required. Provide exactly 1 image URL. * Images must be publicly accessible and directly downloadable. ### Resolution * `resolution`: `720p`, `1080p`. Default: `1080p`. ### Seed * `seed` is optional. Supply an integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker` is optional. Set it to `true` or `false` to control safety checking. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Happy Horse Reference to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-happyhorse-1-0-reference-to-video api-manual/video-series/alibaba-happyhorse-1-0-reference-to-video.json POST /api/generate/submit Use reference images to shape new Happy Horse video scenes, combining visual direction with a written description at up to 1080p. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Use reference images to shape new Happy Horse video scenes, combining visual direction with a written description at up to 1080p. ## Models * **alibaba/happyhorse-1.0/reference-to-video** - Generate a new video guided by reference material and a prompt. ## Features * Guide video generation with one to nine reference images. * Choose from `720p`, `1080p` output resolutions. ## Duration Options * **3-15 seconds** - Set `duration` as an integer. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **2,500 characters**. ### Reference Inputs * `reference_image_urls`: Required; provide up to 9 images. * Describe referenced subjects in the prompt; `character1` and `character2` markers are not required. ### Resolution * `resolution`: `720p`, `1080p`. Default: `1080p`. ### Aspect Ratio * `aspect_ratio`: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`. Default: `16:9`. ### Seed * `seed` is optional. Supply an integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker` is optional. Set it to `true` or `false` to control safety checking. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Happy Horse Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-happyhorse-1-0-text-to-video api-manual/video-series/alibaba-happyhorse-1-0-text-to-video.json POST /api/generate/submit Create short scenes from text with Happy Horse, with output up to 1080p for landscape, portrait, and square video. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create short scenes from text with Happy Horse, with output up to 1080p for landscape, portrait, and square video. ## Models * **alibaba/happyhorse-1.0/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Choose from `720p`, `1080p` output resolutions. ## Duration Options * **3-15 seconds** - Set `duration` as an integer. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **2,500 characters**. ### Resolution * `resolution`: `720p`, `1080p`. Default: `1080p`. ### Aspect Ratio * `aspect_ratio`: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`. Default: `16:9`. ### Seed * `seed` is optional. Supply an integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker` is optional. Set it to `true` or `false` to control safety checking. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Happy Horse Video Edit Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-happyhorse-1-0-video-edit api-manual/video-series/alibaba-happyhorse-1-0-video-edit.json POST /api/generate/submit Transform existing footage with Happy Horse using text instructions and reference images to guide a new visual direction. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Transform existing footage with Happy Horse using text instructions and reference images to guide a new visual direction. ## Models * **alibaba/happyhorse-1.0/video-edit** - Edit an existing video using written instructions. ## Features * Edit an existing video using written instructions. * Optionally add up to five reference images to guide the edit. * Choose from `720p`, `1080p` output resolutions. * Choose automatic audio handling or preserve the source audio. ## Duration Options * **Source video: 3-60 seconds** - Duration is read from `video_url`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the requested changes to the video. * The prompt must not be blank. Maximum length: **2,500 characters**. ### Reference Inputs * `reference_image_urls`: Optional; provide up to 5 images. * Describe referenced subjects in the prompt; `character1` and `character2` markers are not required. ### Source Video * `video_url`: Required. Provide one publicly accessible source video URL. * The source video must be directly downloadable over HTTP(S) and no larger than **100 MiB** for duration inspection. ### Resolution * `resolution`: `720p`, `1080p`. Default: `1080p`. ### Audio * `audio_setting`: `auto` or `origin`. Default: `auto`. * `auto` lets the model determine audio handling; `origin` preserves the original audio. ### Seed * `seed` is optional. Supply an integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker` is optional. Set it to `true` or `false` to control safety checking. ## Pricing Credits are calculated from the detected source-video duration, capped at **15 seconds**, multiplied by the selected resolution rate. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Happy Horse 1.1 Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-happyhorse-1-1-image-to-video api-manual/video-series/alibaba-happyhorse-1-1-image-to-video.json POST /api/generate/submit Bring a still image into motion with Happy Horse 1.1, creating video scenes up to fifteen seconds long in a range of screen formats. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Bring a still image into motion with Happy Horse 1.1, creating video scenes up to fifteen seconds long in a range of screen formats. ## Models * **alibaba/happyhorse-1.1/image-to-video** - Generate video from image input. ## Features * Generate video from image input. * Accepts exactly 1 image in `image_urls`. * Choose from `720p`, `1080p` output resolutions. ## Duration Options * **3-15 seconds** - Set `duration` as an integer. Optional. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. Image inputs also accept image Data URIs or raw Base64. Image conversion and media validation complete before credits are deducted. `duration` and `seed` also accept integer strings such as `"5"`; decimal numbers such as `5.0` and decimal strings such as `"5.0"` are rejected. Null or empty values use the default duration or omit the seed. Supported boolean fields also accept `0`/`1` and case-insensitive strings `true`/`false`, `1`/`0`, `yes`/`no`, `y`/`n`, and `on`/`off`; null omits the field. Surrounding whitespace is trimmed, and resolution values are case-insensitive. ### Prompt * `prompt`: Optional. Describe the scene and desired motion. Maximum: **2,500 Unicode characters**. * Leading and trailing whitespace is trimmed. Omitted, null, empty, and whitespace-only values are treated as omitted. ### Image URLs * `image_urls`: Required. Supply exactly 1 item. Each item may be a public HTTP(S) URL, image Data URI, or raw Base64. Image order is preserved. ### Resolution * `resolution`: Optional. Accepted values: `720p`, `1080p`. Default: `1080p`. ### Seed * `seed`: Optional. Set the generation seed. Integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker`: Optional. Control safety checking. Use `true` or `false`. ## Pricing Usage equals output seconds multiplied by the selected resolution rate. See [Pricing](https://vidgo.ai/apis/api-pricing) for current rates. Credits are deducted on submission and refunded if the task fails. # Happy Horse 1.1 Reference to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-happyhorse-1-1-reference-to-video api-manual/video-series/alibaba-happyhorse-1-1-reference-to-video.json POST /api/generate/submit Guide Happy Horse 1.1 video generation with up to nine reference images to establish subjects, settings, and visual direction. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Guide Happy Horse 1.1 video generation with up to nine reference images to establish subjects, settings, and visual direction. ## Models * **alibaba/happyhorse-1.1/reference-to-video** - Generate video guided by reference material and a prompt. ## Features * Generate video guided by reference material and a prompt. * Use reference images to guide the generated scene. * Choose from `720p`, `1080p` output resolutions. ## Duration Options * **3-15 seconds** - Set `duration` as an integer. Optional. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. Image inputs also accept image Data URIs or raw Base64. Image conversion and media validation complete before credits are deducted. `duration` and `seed` also accept integer strings such as `"5"`; decimal numbers such as `5.0` and decimal strings such as `"5.0"` are rejected. Null or empty values use the default duration or omit the seed. Supported boolean fields also accept `0`/`1` and case-insensitive strings `true`/`false`, `1`/`0`, `yes`/`no`, `y`/`n`, and `on`/`off`; null omits the field. Surrounding whitespace is trimmed, and resolution values are case-insensitive. ### Prompt * `prompt`: Required. Describe the scene and desired motion. Maximum: **2,500 Unicode characters**. * Leading and trailing whitespace is trimmed. A nonblank prompt is required. ### Reference Images * `reference_image_urls`: Required. Supply 1-9 items. Each item may be a public HTTP(S) URL, image Data URI, or raw Base64. Image order is preserved. ### Aspect Ratio * `aspect_ratio`: Optional. Accepted values: `21:9`, `16:9`, `4:3`, `1:1`, `3:4`, `4:5`, `5:4`, `9:16`, `9:21`. Default: `16:9`. ### Resolution * `resolution`: Optional. Accepted values: `720p`, `1080p`. Default: `1080p`. ### Seed * `seed`: Optional. Set the generation seed. Integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker`: Optional. Control safety checking. Use `true` or `false`. ## Pricing Usage equals output seconds multiplied by the selected resolution rate. See [Pricing](https://vidgo.ai/apis/api-pricing) for current rates. Credits are deducted on submission and refunded if the task fails. # Happy Horse 1.1 Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-happyhorse-1-1-text-to-video api-manual/video-series/alibaba-happyhorse-1-1-text-to-video.json POST /api/generate/submit Generate short video scenes with Happy Horse 1.1, with output up to 1080p and framing from wide cinematic layouts to tall vertical video. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate short video scenes with Happy Horse 1.1, with output up to 1080p and framing from wide cinematic layouts to tall vertical video. ## Models * **alibaba/happyhorse-1.1/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Choose from `720p`, `1080p` output resolutions. ## Duration Options * **3-15 seconds** - Set `duration` as an integer. Optional. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. `duration` and `seed` also accept integer strings such as `"5"`; decimal numbers such as `5.0` and decimal strings such as `"5.0"` are rejected. Null or empty values use the default duration or omit the seed. Supported boolean fields also accept `0`/`1` and case-insensitive strings `true`/`false`, `1`/`0`, `yes`/`no`, `y`/`n`, and `on`/`off`; null omits the field. Surrounding whitespace is trimmed, and resolution values are case-insensitive. ### Prompt * `prompt`: Required. Describe the scene and desired motion. Maximum: **2,500 Unicode characters**. * Leading and trailing whitespace is trimmed. A nonblank prompt is required. ### Aspect Ratio * `aspect_ratio`: Optional. Accepted values: `21:9`, `16:9`, `4:3`, `1:1`, `3:4`, `4:5`, `5:4`, `9:16`, `9:21`. Default: `16:9`. ### Resolution * `resolution`: Optional. Accepted values: `720p`, `1080p`. Default: `1080p`. ### Seed * `seed`: Optional. Set the generation seed. Integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker`: Optional. Control safety checking. Use `true` or `false`. ## Pricing Usage equals output seconds multiplied by the selected resolution rate. See [Pricing](https://vidgo.ai/apis/api-pricing) for current rates. Credits are deducted on submission and refunded if the task fails. # Wan 2.5 Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-2-5-image-to-video api-manual/video-series/alibaba-wan-2-5-image-to-video.json POST /api/generate/submit Animate one reference image into a 5 or 10 second video with synchronized audio and output up to 1080p. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Animate one reference image into a 5 or 10 second video with synchronized audio and output up to 1080p. ## Models * `alibaba/wan-2.5/image-to-video`: Animate a reference image using a motion prompt. ## Request Parameters Set `model` and optional `callback_url` at the request root. Place the following generation parameters inside `input`. ### prompt * `prompt` (string, required): Describe the subject, scene, and motion. Use 1–1500 characters after trimming surrounding whitespace. ### image\_urls * `image_urls` (string\[], required): Provide exactly one publicly accessible HTTP(S) image URL. ### resolution * `resolution` (string, optional): Output resolution: 480p, 720p, or 1080p. Default: 720p. ### duration * `duration` (integer, optional): Video duration: 5 or 10 seconds. Default: 5. ### audio * `audio` (string, optional): Optional audio file URL to supply a recording for the video. ### negative\_prompt * `negative_prompt` (string, optional): Optional description of elements to exclude from the scene. ### seed * `seed` (integer, optional): Optional integer random seed for reusing generation settings. ## Retrieve the Video Query the task with `task_id`. Continue polling while `status` is `not_started` or `running`. At `finished`, read the video URL from `data.files[].file_url`. At `failed`, read `data.error_message` for the error details. # Wan 2.5 Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-2-5-text-to-video api-manual/video-series/alibaba-wan-2-5-text-to-video.json POST /api/generate/submit Create 5 or 10 second videos from text with synchronized audio and landscape or portrait output up to 1080p. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create 5 or 10 second videos from text with synchronized audio and landscape or portrait output up to 1080p. ## Models * `alibaba/wan-2.5/text-to-video`: Generate a video scene from a text prompt. ## Request Parameters Set `model` and optional `callback_url` at the request root. Place the following generation parameters inside `input`. ### prompt * `prompt` (string, required): Describe the subject, scene, and motion. Use 1–1500 characters after trimming surrounding whitespace. ### aspect\_ratio * `aspect_ratio` (string, required): Frame dimensions in pixels (`width*height`): `832*480`, `480*832`, `1280*720`, `720*1280`, `1920*1080`, `1080*1920`. ### duration * `duration` (integer, optional): Video duration: 5 or 10 seconds. Default: 5. ### audio * `audio` (string, optional): Optional audio file URL to supply a recording for the video. ### negative\_prompt * `negative_prompt` (string, optional): Optional description of elements to exclude from the scene. ### seed * `seed` (integer, optional): Optional integer random seed for reusing generation settings. ## Retrieve the Video Query the task with `task_id`. Continue polling while `status` is `not_started` or `running`. At `finished`, read the video URL from `data.files[].file_url`. At `failed`, read `data.error_message` for the error details. # Wan 2.6 Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-2-6-image-to-video api-manual/video-series/alibaba-wan-2-6-image-to-video.json POST /api/generate/submit Bring a still image into motion with Wan 2.6, creating video sequences with optional multiple shots at up to 1080p. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Bring a still image into motion with Wan 2.6, creating video sequences with optional multiple shots at up to 1080p. ## Models * **alibaba/wan-2.6/image-to-video** - Generate video from image input. ## Features * Generate video from image input. * Accepts exactly 1 image in `image_urls`. * Choose from `720p`, `1080p` output resolutions. ## Duration Options * **5, 10, 15 seconds** - Set `duration` as an integer. Optional. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. Length: **1-5,000 characters**. * The value must not be blank when supplied. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply exactly 1 item. Each item must be an HTTP(S) URL. * The playground accepts JPG, PNG, and WebP uploads up to 10 MiB. ### Resolution * `resolution`: Optional. Accepted values: `720p`, `1080p`. Default: `720p`. ### Multi-Shot Generation * `multi_shots`: Optional. Enable multi-shot generation. Use `true` or `false`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Wan 2.6 Reference to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-2-6-reference-to-video api-manual/video-series/alibaba-wan-2-6-reference-to-video.json POST /api/generate/submit Use reference videos to guide new scenes with Wan 2.6, with support for multiple shots and video output up to 1080p. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Use reference videos to guide new scenes with Wan 2.6, with support for multiple shots and video output up to 1080p. ## Models * **alibaba/wan-2.6/reference-to-video** - Generate video guided by reference material and a prompt. ## Features * Generate video guided by reference material and a prompt. * Use 1-10 video references to guide the generated scene. * Choose from `720p`, `1080p` output resolutions. ## Duration Options * **5, 10 seconds** - Set `duration` as an integer. Optional. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. Length: **1-5,000 characters**. * The value must not be blank when supplied. ### Reference Videos * `video_urls`: Required. Provide reference video URLs. Supply 1-10 items. Each item must be an HTTP(S) URL. * Reference videos support MP4, MOV, and MKV files up to 10 MiB each. ### Resolution * `resolution`: Optional. Accepted values: `720p`, `1080p`. Default: `720p`. ### Multi-Shot Generation * `multi_shots`: Optional. Enable multi-shot generation. Use `true` or `false`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Wan 2.6 Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-2-6-text-to-video api-manual/video-series/alibaba-wan-2-6-text-to-video.json POST /api/generate/submit Turn written scenes into video with Wan 2.6, with support for multiple shots and output up to fifteen seconds at 1080p. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Turn written scenes into video with Wan 2.6, with support for multiple shots and output up to fifteen seconds at 1080p. ## Models * **alibaba/wan-2.6/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Choose from `720p`, `1080p` output resolutions. ## Duration Options * **5, 10, 15 seconds** - Set `duration` as an integer. Optional. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the scene and desired motion. Length: **1-5,000 characters**. * The value must not be blank when supplied. ### Resolution * `resolution`: Optional. Accepted values: `720p`, `1080p`. Default: `720p`. ### Multi-Shot Generation * `multi_shots`: Optional. Enable multi-shot generation. Use `true` or `false`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Wan 2.7 Video Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-2-7-image-to-video api-manual/video-series/alibaba-wan-2-7-image-to-video.json POST /api/generate/submit Animate reference images with Wan 2.7, with optional audio guidance and multiple shots for video sequences up to fifteen seconds. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Animate reference images with Wan 2.7, with optional audio guidance and multiple shots for video sequences up to fifteen seconds. ## Models * **alibaba/wan-2.7/image-to-video** - Generate video from image input. ## Features * Generate video from image input. * Accepts 1-2 images in `image_urls`. * Choose from `720p`, `1080p` output resolutions. ## Duration Options * **2-15 seconds** - Set `duration` as an integer. Optional. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. Image inputs also accept image Data URIs or raw Base64. Image conversion and media validation complete before credits are deducted. `duration` and `seed` also accept integer strings such as `"5"`; decimal numbers such as `5.0` and decimal strings such as `"5.0"` are rejected. Null or empty values use the default duration or omit the seed. Supported boolean fields also accept `0`/`1` and case-insensitive strings `true`/`false`, `1`/`0`, `yes`/`no`, `y`/`n`, and `on`/`off`; null omits the field. Surrounding whitespace is trimmed, and resolution values are case-insensitive. ### Prompt * `prompt`: Optional. Describe the scene and desired motion. Maximum: **5,000 Unicode characters**. * Leading and trailing whitespace is trimmed. Omitted, null, empty, and whitespace-only values are treated as omitted. ### Image URLs * `image_urls`: Required. Supply 1-2 items. Each item may be a public HTTP(S) URL, image Data URI, or raw Base64. Image order is preserved. ### Audio URL * `audio_url`: Optional. Provide the input audio URL. Use a publicly accessible HTTP(S) URL. ### Video URL * `video_url`: Optional. Provide a publicly accessible HTTP(S) video URL. ### Resolution * `resolution`: Optional. Accepted values: `720p`, `1080p`. Default: `720p`. ### Multi-Shot Generation * `multi_shots`: Optional. Enable multi-shot generation. Use `true` or `false`. ### Seed * `seed`: Optional. Set the generation seed. Integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker`: Optional. Control safety checking. Use `true` or `false`. ## Pricing Usage equals output seconds multiplied by the selected resolution rate. See [Pricing](https://vidgo.ai/apis/api-pricing) for current rates. Credits are deducted on submission and refunded if the task fails. # Wan 2.7 Video Reference to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-2-7-reference-to-video api-manual/video-series/alibaba-wan-2-7-reference-to-video.json POST /api/generate/submit Combine image and video references to guide Wan 2.7 scenes, with support for multiple shots and output up to 1080p. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Combine image and video references to guide Wan 2.7 scenes, with support for multiple shots and output up to 1080p. ## Models * **alibaba/wan-2.7/reference-to-video** - Generate video guided by reference material and a prompt. ## Features * Generate video guided by reference material and a prompt. * Use reference images to guide the generated scene. * Use video references to guide the generated scene. * Choose from `720p`, `1080p` output resolutions. ## Duration Options * **2-10 seconds** - Set `duration` as an integer. Optional. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. Image inputs also accept image Data URIs or raw Base64. Image conversion and media validation complete before credits are deducted. * Provide at least one nonempty reference array: `reference_image_urls` or `reference_video_urls`. `duration` and `seed` also accept integer strings such as `"5"`; decimal numbers such as `5.0` and decimal strings such as `"5.0"` are rejected. Null or empty values use the default duration or omit the seed. Supported boolean fields also accept `0`/`1` and case-insensitive strings `true`/`false`, `1`/`0`, `yes`/`no`, `y`/`n`, and `on`/`off`; null omits the field. Surrounding whitespace is trimmed, and resolution values are case-insensitive. ### Prompt * `prompt`: Required. Describe the scene and desired motion. Maximum: **5,000 Unicode characters**. * Leading and trailing whitespace is trimmed. A nonblank prompt is required. ### Reference Images * `reference_image_urls`: Optional. Supply up to 9 items. Each item may be a public HTTP(S) URL, image Data URI, or raw Base64. Image order is preserved. ### Reference Videos * `reference_video_urls`: Optional. Provide reference video URLs. Supply an array. Each item must be an HTTP(S) URL. ### Aspect Ratio * `aspect_ratio`: Optional. Accepted values: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`. Default: `16:9`. ### Resolution * `resolution`: Optional. Accepted values: `720p`, `1080p`. Default: `720p`. ### Multi-Shot Generation * `multi_shots`: Optional. Enable multi-shot generation. Use `true` or `false`. ### Seed * `seed`: Optional. Set the generation seed. Integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker`: Optional. Control safety checking. Use `true` or `false`. ## Pricing Usage equals output seconds multiplied by the selected resolution rate. See [Pricing](https://vidgo.ai/apis/api-pricing) for current rates. Credits are deducted on submission and refunded if the task fails. # Wan 2.7 Video Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-2-7-text-to-video api-manual/video-series/alibaba-wan-2-7-text-to-video.json POST /api/generate/submit Create 5, 10, or 15-second videos with Wan 2.7 using written scenes and optional audio input at up to 1080p. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create 5, 10, or 15-second videos with Wan 2.7 using written scenes and optional audio input at up to 1080p. ## Models * **alibaba/wan-2.7/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Choose from `720p`, `1080p` output resolutions. ## Duration Options * **5, 10, 15 seconds** - Set `duration` as an integer. Optional. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. `duration` and `seed` also accept integer strings such as `"5"`; decimal numbers such as `5.0` and decimal strings such as `"5.0"` are rejected. Null or empty values use the default duration or omit the seed. Supported boolean fields also accept `0`/`1` and case-insensitive strings `true`/`false`, `1`/`0`, `yes`/`no`, `y`/`n`, and `on`/`off`; null omits the field. Surrounding whitespace is trimmed, and resolution values are case-insensitive. ### Prompt * `prompt`: Required. Describe the scene and desired motion. Maximum: **5,000 Unicode characters**. * Leading and trailing whitespace is trimmed. A nonblank prompt is required. ### Audio URL * `audio_url`: Optional. Provide the input audio URL. Use a publicly accessible HTTP(S) URL. ### Aspect Ratio * `aspect_ratio`: Optional. Accepted values: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`. Default: `16:9`. ### Resolution * `resolution`: Optional. Accepted values: `720p`, `1080p`. Default: `720p`. ### Seed * `seed`: Optional. Set the generation seed. Integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker`: Optional. Control safety checking. Use `true` or `false`. ## Pricing Usage equals output seconds multiplied by the selected resolution rate. See [Pricing](https://vidgo.ai/apis/api-pricing) for current rates. Credits are deducted on submission and refunded if the task fails. # Wan 2.7 Video Edit Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-2-7-video-edit api-manual/video-series/alibaba-wan-2-7-video-edit.json POST /api/generate/submit Rework existing footage with Wan 2.7 using text and an optional reference image to guide changes to the scene. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Rework existing footage with Wan 2.7 using text and an optional reference image to guide changes to the scene. ## Models * **alibaba/wan-2.7/video-edit** - Edit an existing video using written instructions. ## Features * Edit an existing video using written instructions. * Choose from `720p`, `1080p` output resolutions. ## Duration Options * **Automatic** - `duration: 0` is the default. The service detects the source-video duration, checks that it is **2-10 seconds**, then rounds down to whole seconds. The same whole-second duration is used for billing and output generation. * **Explicit output length** - Set `duration` to `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10` seconds. * With `duration: 0`, the source must be a publicly reachable HTTP(S) file no larger than **100 MiB**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. Image inputs also accept image Data URIs or raw Base64. Image conversion and media validation complete before credits are deducted. `duration` and `seed` also accept integer strings such as `"5"`; decimal numbers such as `5.0` and decimal strings such as `"5.0"` are rejected. Null or empty values use the default duration or omit the seed. Supported boolean fields also accept `0`/`1` and case-insensitive strings `true`/`false`, `1`/`0`, `yes`/`no`, `y`/`n`, and `on`/`off`; null omits the field. Surrounding whitespace is trimmed, and resolution values are case-insensitive. ### Prompt * `prompt`: Required. Describe the requested changes. Maximum: **5,000 Unicode characters**. * Leading and trailing whitespace is trimmed. A nonblank prompt is required. ### Reference Image URL * `reference_image_url`: Optional. Provide an image to guide the edit as a public HTTP(S) URL, image Data URI, or raw Base64. ### Source Video * `video_url`: Required. Provide the source video URL. Use a publicly accessible HTTP(S) URL. ### Aspect Ratio * `aspect_ratio`: Optional. Accepted values: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`. Default: `16:9`. ### Resolution * `resolution`: Optional. Accepted values: `720p`, `1080p`. Default: `720p`. ### Multi-Shot Generation * `multi_shots`: Optional. Enable multi-shot generation. Use `true` or `false`. ### Audio Settings * `audio_setting`: Optional. Supply the audio setting as a string. ### Seed * `seed`: Optional. Set the generation seed. Integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker`: Optional. Control safety checking. Use `true` or `false`. ## Pricing Usage equals output seconds multiplied by the selected resolution rate. See [Pricing](https://vidgo.ai/apis/api-pricing) for current rates. Credits are deducted on submission and refunded if the task fails. # Wan 3.0 Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-3-0-image-to-video api-manual/video-series/alibaba-wan-3-0-image-to-video.json POST /api/generate/submit Animate still images with Wan 3.0, combining text direction with optional audio in clips up to thirty seconds long. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Animate still images with Wan 3.0, combining text direction with optional audio in clips up to thirty seconds long. ## Models * **alibaba/wan-3.0/image-to-video** - Generate video from image input. ## Features * Generate video from one or two input images. * Choose from `480p`, `720p`, `1080p` output resolutions. * Control audio generation with `audio`; it defaults to `true`. ## Duration Options * **2-30 seconds** - Set `duration` as an integer. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Optional. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Image URLs * `image_urls`: Required. Provide 1-2 image URLs. * Images must be publicly accessible and directly downloadable. ### Resolution * `resolution`: `480p`, `720p`, `1080p`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `adaptive`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`. Default: `adaptive`. ### Audio * `audio`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ### Seed * `seed` is optional. Supply an integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker` is optional. Set it to `true` or `false` to control safety checking. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Wan 3.0 Video Prime Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-3-0-prime-image-to-video api-manual/video-series/alibaba-wan-3-0-prime-image-to-video.json POST /api/generate/submit Animate still images with Wan 3.0 Prime, combining text direction with optional audio in clips up to thirty seconds long. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Animate still images with Wan 3.0 Prime, combining text direction with optional audio in clips up to thirty seconds long. ## Models * **alibaba/wan-3.0-prime/image-to-video** - Generate video from image input. ## Features * Generate video from one or two input images. * Choose from `480p`, `720p`, `1080p` output resolutions. * Control audio generation with `audio`; it defaults to `true`. ## Duration Options * **2-30 seconds** - Set `duration` as an integer. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Optional. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Image URLs * `image_urls`: Required. Provide 1-2 image URLs. * Images must be publicly accessible and directly downloadable. ### Resolution * `resolution`: `480p`, `720p`, `1080p`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `adaptive`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`. Default: `adaptive`. ### Audio * `audio`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ### Seed * `seed` is optional. Supply an integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker` is optional. Set it to `true` or `false` to control safety checking. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Wan 3.0 Video Prime Reference to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-3-0-prime-reference-to-video api-manual/video-series/alibaba-wan-3-0-prime-reference-to-video.json POST /api/generate/submit Guide Wan 3.0 Prime video scenes with image, video, and audio references, combining multiple sources into a new visual sequence. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Guide Wan 3.0 Prime video scenes with image, video, and audio references, combining multiple sources into a new visual sequence. ## Models * **alibaba/wan-3.0-prime/reference-to-video** - Generate a new video guided by reference material and a prompt. ## Features * Use image, video, audio, document, or webpage references to guide a new scene. * Choose from `480p`, `720p`, `1080p` output resolutions. * Control audio generation with `audio`; it defaults to `true`. ## Duration Options * **2-30 seconds** - Set `duration` as an integer. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Reference Inputs * At least one reference type is required in addition to `prompt`. Audio can be the only reference type. * Do not combine `reference_file_urls` with `reference_link_urls`. * `reference_image_urls`: Optional; provide 1-10 images. * `reference_video_urls`: Optional; provide 1-5 videos. * `reference_audio_urls`: Optional; provide 1-5 audio files. * `reference_file_urls`: Optional; provide exactly 1 document. * `reference_link_urls`: Optional; provide exactly 1 webpage. ### Resolution * `resolution`: `480p`, `720p`, `1080p`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `adaptive`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`. Default: `adaptive`. ### Audio * `audio`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ### Seed * `seed` is optional. Supply an integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker` is optional. Set it to `true` or `false` to control safety checking. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Wan 3.0 Video Prime Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-3-0-prime-text-to-video api-manual/video-series/alibaba-wan-3-0-prime-text-to-video.json POST /api/generate/submit Create video scenes with Wan 3.0 Prime, with optional audio and output up to thirty seconds for longer visual sequences. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create video scenes with Wan 3.0 Prime, with optional audio and output up to thirty seconds for longer visual sequences. ## Models * **alibaba/wan-3.0-prime/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Choose from `480p`, `720p`, `1080p` output resolutions. * Control audio generation with `audio`; it defaults to `true`. ## Duration Options * **2-30 seconds** - Set `duration` as an integer. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Resolution * `resolution`: `480p`, `720p`, `1080p`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `adaptive`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`. Default: `adaptive`. ### Audio * `audio`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ### Seed * `seed` is optional. Supply an integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker` is optional. Set it to `true` or `false` to control safety checking. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Wan 3.0 Reference to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-3-0-reference-to-video api-manual/video-series/alibaba-wan-3-0-reference-to-video.json POST /api/generate/submit Guide Wan 3.0 video scenes with image, video, and audio references, combining multiple sources into a new visual sequence. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Guide Wan 3.0 video scenes with image, video, and audio references, combining multiple sources into a new visual sequence. ## Models * **alibaba/wan-3.0/reference-to-video** - Generate a new video guided by reference material and a prompt. ## Features * Use image, video, audio, document, or webpage references to guide a new scene. * Choose from `480p`, `720p`, `1080p` output resolutions. * Control audio generation with `audio`; it defaults to `true`. ## Duration Options * **2-30 seconds** - Set `duration` as an integer. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Reference Inputs * At least one reference type is required in addition to `prompt`. Audio can be the only reference type. * Do not combine `reference_file_urls` with `reference_link_urls`. * `reference_image_urls`: Optional; provide 1-10 images. * `reference_video_urls`: Optional; provide 1-5 videos. * `reference_audio_urls`: Optional; provide 1-5 audio files. * `reference_file_urls`: Optional; provide exactly 1 document. * `reference_link_urls`: Optional; provide exactly 1 webpage. ### Resolution * `resolution`: `480p`, `720p`, `1080p`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `adaptive`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`. Default: `adaptive`. ### Audio * `audio`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ### Seed * `seed` is optional. Supply an integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker` is optional. Set it to `true` or `false` to control safety checking. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Wan 3.0 Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-3-0-text-to-video api-manual/video-series/alibaba-wan-3-0-text-to-video.json POST /api/generate/submit Create video scenes with Wan 3.0, with optional audio and output up to thirty seconds for longer visual sequences. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create video scenes with Wan 3.0, with optional audio and output up to thirty seconds for longer visual sequences. ## Models * **alibaba/wan-3.0/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Choose from `480p`, `720p`, `1080p` output resolutions. * Control audio generation with `audio`; it defaults to `true`. ## Duration Options * **2-30 seconds** - Set `duration` as an integer. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. Maximum length: **20,000 characters**. ### Resolution * `resolution`: `480p`, `720p`, `1080p`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `adaptive`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`. Default: `adaptive`. ### Audio * `audio`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ### Seed * `seed` is optional. Supply an integer from `0` to `2147483647`. ### Safety Checker * `enable_safety_checker` is optional. Set it to `true` or `false` to control safety checking. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Wan Animate Move Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-v2-2-14b-animate-move api-manual/video-series/alibaba-wan-v2-2-14b-animate-move.json POST /api/generate/submit Animate the character in an image using motion from a reference video with Wan Animate Move. > [!TIP] > > 1. Submit the request with `VIDGO_API_KEY`. Vidgo validates the request and checks the source video before creating the task. A `task_id` is returned after the task is successfully created. > 2. Use the returned `task_id` with [Query Task Status](/api-manual/task-management/status) until the task reaches `finished` or `failed`. If you provide a `callback_url`, Vidgo also sends the result to your [webhook](/api-manual/task-management/webhooks) when the task finishes or fails. Animate the character in an image using motion from a reference video with Wan Animate Move. ## Models * **alibaba/wan/v2.2-14b/animate/move** - Animate the character in an image using motion from a reference video with Wan Animate Move. ## Features * Animate the character in an image using motion from a reference video with Wan Animate Move. * Accepts an `image_urls` array containing exactly one image URL. * Supports `480p`, `580p`, and `720p` output resolutions. ## Source Video Requirements * `video_url` must point to a publicly accessible HTTP(S) video file. * The entire video file must be no larger than **100 MiB** (104,857,600 bytes), and its duration must be greater than zero. * Vidgo reads the source video to determine its duration for billing. ## Request Parameters Set `model` and optional `callback_url` at the request root. The `input` object accepts only `video_url`, `image_urls`, and `resolution`. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials or whitespace. ### Source Video * `video_url`: Required string. The reference video that provides the motion for the character image. The video must meet the source video requirements above. ### Character Image * `image_urls`: Required array containing exactly one publicly accessible HTTP(S) image URL. The image containing the character to animate. A single URL string instead of an array, an empty array, multiple URLs, and Base64 images are rejected. ### Resolution * `resolution`: Optional string. Accepted values: `480p`, `580p`, `720p`. Defaults to `480p` only when the field is omitted. Null, empty strings, other values, and values with surrounding whitespace are rejected. ## Billing Factors Billing depends on the selected resolution (`resolution`) and the measured source-video duration (`video_url`). Move and Replace use the same rates. Source-video duration is rounded up to whole seconds before billing. For example, a source video lasting 5.1 seconds is billed as 6 seconds. If Vidgo cannot read the video or determine its duration, the request is rejected before credits are deducted. Credits are deducted when a valid request is submitted for generation and refunded if the task fails. # Wan Animate Replace Source: https://docs.vidgo.ai/api-manual/video-series/alibaba-wan-v2-2-14b-animate-replace api-manual/video-series/alibaba-wan-v2-2-14b-animate-replace.json POST /api/generate/submit Replace the character in a source video with the character from a reference image using Wan Animate Replace. > [!TIP] > > 1. Submit the request with `VIDGO_API_KEY`. Vidgo validates the request and checks the source video before creating the task. A `task_id` is returned after the task is successfully created. > 2. Use the returned `task_id` with [Query Task Status](/api-manual/task-management/status) until the task reaches `finished` or `failed`. If you provide a `callback_url`, Vidgo also sends the result to your [webhook](/api-manual/task-management/webhooks) when the task finishes or fails. Replace the character in a source video with the character from a reference image using Wan Animate Replace. ## Models * **alibaba/wan/v2.2-14b/animate/replace** - Replace the character in a source video with the character from a reference image using Wan Animate Replace. ## Features * Replace the character in a source video with the character from a reference image using Wan Animate Replace. * Accepts an `image_urls` array containing exactly one image URL. * Supports `480p`, `580p`, and `720p` output resolutions. ## Source Video Requirements * `video_url` must point to a publicly accessible HTTP(S) video file. * The entire video file must be no larger than **100 MiB** (104,857,600 bytes), and its duration must be greater than zero. * Vidgo reads the source video to determine its duration for billing. ## Request Parameters Set `model` and optional `callback_url` at the request root. The `input` object accepts only `video_url`, `image_urls`, and `resolution`. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials or whitespace. ### Source Video * `video_url`: Required string. The source video containing the character to replace. The video must meet the source video requirements above. ### Character Image * `image_urls`: Required array containing exactly one publicly accessible HTTP(S) image URL. The reference image containing the replacement character. A single URL string instead of an array, an empty array, multiple URLs, and Base64 images are rejected. ### Resolution * `resolution`: Optional string. Accepted values: `480p`, `580p`, `720p`. Defaults to `480p` only when the field is omitted. Null, empty strings, other values, and values with surrounding whitespace are rejected. ## Billing Factors Billing depends on the selected resolution (`resolution`) and the measured source-video duration (`video_url`). Move and Replace use the same rates. Source-video duration is rounded up to whole seconds before billing. For example, a source video lasting 5.1 seconds is billed as 6 seconds. If Vidgo cannot read the video or determine its duration, the request is rejected before credits are deducted. Credits are deducted when a valid request is submitted for generation and refunded if the task fails. # FLUX 3 Extend Video Source: https://docs.vidgo.ai/api-manual/video-series/blackforestlabs-flux-3-extend-video api-manual/video-series/blackforestlabs-flux-3-extend-video.json POST /api/generate/submit Continue an existing video with FLUX 3, using a text prompt to guide the next part of the scene with optional sound. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Continue an existing video with FLUX 3, using a text prompt to guide the next part of the scene with optional sound. ## Models * **blackforestlabs/flux-3/extend-video** - Continue an existing video with a prompt describing the next part of the scene. ## Features * Continue an existing video with a prompt describing the next part of the scene. * Choose from `720p`, `1080p` output resolutions. * Control audio generation with `sound`; it defaults to `true`. ## Duration Options * **5-20 seconds** - Set `duration` as an integer. Default: **5 seconds**. * `duration` specifies the newly generated extension, not the length of the source video. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. ### Source Video * `video_url`: Required. Provide one publicly accessible source video URL. ### Resolution * `resolution`: `720p`, `1080p`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`. Default: `auto`. ### Audio * `sound`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # FLUX 3 First Last Frame to Video Source: https://docs.vidgo.ai/api-manual/video-series/blackforestlabs-flux-3-first-last-frame-to-video api-manual/video-series/blackforestlabs-flux-3-first-last-frame-to-video.json POST /api/generate/submit Generate a video transition between a chosen opening and closing image with FLUX 3, with text direction and optional sound. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate a video transition between a chosen opening and closing image with FLUX 3, with text direction and optional sound. ## Models * **blackforestlabs/flux-3/first-last-frame-to-video** - Generate a transition between a starting image and an ending image. ## Features * Generate a transition between a starting image and an ending image. * Choose from `720p`, `1080p` output resolutions. * Control audio generation with `sound`; it defaults to `true`. ## Duration Options * **5-20 seconds** - Set `duration` as an integer. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. ### Image URLs * `image_urls`: Required. Provide exactly 2 image URLs. * List the starting frame first and the ending frame second. * Images must be publicly accessible and directly downloadable. ### Resolution * `resolution`: `720p`, `1080p`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`. Default: `auto`. ### Audio * `sound`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # FLUX 3 Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/blackforestlabs-flux-3-image-to-video api-manual/video-series/blackforestlabs-flux-3-image-to-video.json POST /api/generate/submit Bring a still image into motion with FLUX 3, using text to direct the scene with optional sound and output up to 1080p. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Bring a still image into motion with FLUX 3, using text to direct the scene with optional sound and output up to 1080p. ## Models * **blackforestlabs/flux-3/image-to-video** - Generate video from image input. ## Features * Animate a single reference image. * Choose from `720p`, `1080p` output resolutions. * Control audio generation with `sound`; it defaults to `true`. ## Duration Options * **5-20 seconds** - Set `duration` as an integer. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. ### Image URLs * `image_urls`: Required. Provide exactly 1 image URL. * Images must be publicly accessible and directly downloadable. ### Resolution * `resolution`: `720p`, `1080p`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`. Default: `auto`. ### Audio * `sound`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # FLUX 3 Keyframes to Video Source: https://docs.vidgo.ai/api-manual/video-series/blackforestlabs-flux-3-keyframes-to-video api-manual/video-series/blackforestlabs-flux-3-keyframes-to-video.json POST /api/generate/submit Build video sequences around chosen image keyframes with FLUX 3, controlling where visual references appear along the timeline. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Build video sequences around chosen image keyframes with FLUX 3, controlling where visual references appear along the timeline. ## Models * **blackforestlabs/flux-3/keyframes-to-video** - Guide a video sequence with images placed at specific frame indices. ## Features * Guide a video sequence with images placed at specific frame indices. * Choose from `720p`, `1080p` output resolutions. * Control audio generation with `sound`; it defaults to `true`. ## Duration Options * **5-20 seconds** - Set `duration` as an integer. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. ### Keyframes * `keyframes` is required and accepts **1-10 objects**. * Each object requires a publicly accessible `image_url` and an integer `frame_index`. * Frame indices must be unique and range from `0` to `duration * 24`, inclusive. ### Resolution * `resolution`: `720p`, `1080p`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`. Default: `auto`. ### Audio * `sound`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # FLUX 3 Max Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/blackforestlabs-flux-3-max-image-to-video api-manual/video-series/blackforestlabs-flux-3-max-image-to-video.json POST /api/generate/submit The FLUX 3 Max Image to Video API animates a start image, with an optional end image, into a 5–20 second 720p or 1080p video with native audio. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. FLUX 3 Max Image to Video animates a start image into a 5–20 second video at 720p or 1080p. Add a second image and the model treats it as the end frame, generating the motion that connects the two. Audio is generated in the same pass unless you turn it off. FLUX 3 Max is a video model post-trained by fal in collaboration with Black Forest Labs on the FLUX 3 video base. Vidgo exposes it as three model IDs: [Text to Video](/api-manual/video-series/blackforestlabs-flux-3-max-text-to-video), [Image to Video](/api-manual/video-series/blackforestlabs-flux-3-max-image-to-video) and [Keyframes to Video](/api-manual/video-series/blackforestlabs-flux-3-max-keyframes-to-video). ## Models * **blackforestlabs/flux-3-max/image-to-video** — Image-to-video with FLUX 3 Max from a start frame and an optional end frame. ## Features * Image-to-video from one start frame. * First and last frame control: a second image sets where the clip ends. * Integer durations from 5 to 20 seconds at 720p or 1080p. * Eight aspect ratios; `auto` follows the first image. * Native audio on by default. ## Input modes * **Start frame**: `image_urls` with one image. The video opens on that image. * **Start and end frame**: `image_urls` with two images. The first opens the video and the second closes it. ## Required parameters * `image_urls` (string\[]): One or two public HTTP(S) image URLs (PNG, JPEG or WebP). Order matters: start frame first, end frame second. * `prompt` (string): How the scene moves, the camera movement and, with `sound` on, the audio. Must not be blank. ## Optional parameters * `duration` (integer): Output length in seconds, `5`–`20`. Default `5`. * `resolution` (string): `720p` or `1080p`. Default `720p`. * `aspect_ratio` (string): `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4` or `9:16`. Default `auto`. * `sound` (boolean): Generate native audio with the video. Default `true`; set `false` for silent footage. ## Output The finished task returns one MP4 video in the `files` array of [Query Task Status](/api-manual/task-management/status) and the callback payload. ## Examples * **Start frame only**: one portrait image with a short motion prompt, `aspect_ratio: auto` so the video keeps the image's shape. * **Start and end frame**: a closed box and an open box as the two frames, an 8-second 1080p silent clip and a `callback_url`. ## Notes * `image_urls` takes at most two images. To place more images at chosen points in time, use [FLUX 3 Max Keyframes to Video](/api-manual/video-series/blackforestlabs-flux-3-max-keyframes-to-video). * Images must be publicly reachable over HTTP(S) and must not contain embedded credentials. Fields not listed above, such as `keyframes`, return 400. * Credits are reserved at submission and depend on `resolution` and `duration`. The rate is the same for text-to-video, image-to-video and keyframes-to-video, and `sound` does not change it. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. * There is no 4K tier, no `seed` and no output longer than 20 seconds on this model. # FLUX 3 Max Keyframes to Video Source: https://docs.vidgo.ai/api-manual/video-series/blackforestlabs-flux-3-max-keyframes-to-video api-manual/video-series/blackforestlabs-flux-3-max-keyframes-to-video.json POST /api/generate/submit The FLUX 3 Max Keyframes to Video API places 1–10 images on a 24 fps timeline with frame_index and generates the 5–20 second motion between them. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. FLUX 3 Max Keyframes to Video lets you pin up to 10 images to exact positions on a 24 fps timeline and generates the motion between them. It is built for storyboard animatics, product transformations and time-lapse style sequences where specific shots must appear at specific moments. FLUX 3 Max is a video model post-trained by fal in collaboration with Black Forest Labs on the FLUX 3 video base. Vidgo exposes it as three model IDs: [Text to Video](/api-manual/video-series/blackforestlabs-flux-3-max-text-to-video), [Image to Video](/api-manual/video-series/blackforestlabs-flux-3-max-image-to-video) and [Keyframes to Video](/api-manual/video-series/blackforestlabs-flux-3-max-keyframes-to-video). ## Models * **blackforestlabs/flux-3-max/keyframes-to-video** — Keyframes-to-video with FLUX 3 Max, 1–10 images placed by `frame_index`. ## Features * Keyframe control with 1–10 images, each placed on a frame of a 24 fps timeline. * Integer durations from 5 to 20 seconds at 720p or 1080p. * Eight aspect ratios; `auto` follows the first keyframe image. * Native audio on by default. ## Required parameters * `keyframes` (object\[]): 1–10 objects, each with exactly two fields: * `image_url` (string): Public HTTP(S) URL of the keyframe image (PNG, JPEG or WebP). * `frame_index` (integer): Position of that image on the 24 fps timeline, from `0` to `duration × 24`. Indexes must be unique. * `prompt` (string): The motion and transitions between keyframes, the camera movement and, with `sound` on, the audio. Must not be blank. ## Optional parameters * `duration` (integer): Output length in seconds, `5`–`20`. Default `5`. * `resolution` (string): `720p` or `1080p`. Default `720p`. * `aspect_ratio` (string): `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4` or `9:16`. Default `auto`. * `sound` (boolean): Generate native audio with the video. Default `true`; set `false` for silent footage. ## Duration `frame_index` counts frames at 24 fps, so the last valid index depends on `duration`: | `duration` | Valid `frame_index` range | | - | - | | 5 | 0–120 | | 10 | 0–240 | | 15 | 0–360 | | 20 | 0–480 | To place an image at second *t*, use `frame_index = t × 24` (for example 2.5 s → 60). ## Output The finished task returns one MP4 video in the `files` array of [Query Task Status](/api-manual/task-management/status) and the callback payload. ## Examples * **Three keyframes over 5 seconds**: seed, sapling and blossom at frames `0`, `60` and `120` (start, middle and end of a 5-second clip). * **10-second 1080p storyboard with callback**: four shots at frames `0`, `96`, `168` and `240`, `21:9`, silent, with a `callback_url`. ## Notes * A `frame_index` above `duration × 24`, a repeated index, or extra fields inside a keyframe object return 400. If you shorten `duration`, check that every index still fits. * Fields not listed above, such as `image_urls`, return 400. For a simple start/end frame clip, use [FLUX 3 Max Image to Video](/api-manual/video-series/blackforestlabs-flux-3-max-image-to-video). * Credits are reserved at submission and depend on `resolution` and `duration`. The rate is the same for text-to-video, image-to-video and keyframes-to-video, and `sound` does not change it. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. * There is no 4K tier, no `seed` and no output longer than 20 seconds on this model. # FLUX 3 Max Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/blackforestlabs-flux-3-max-text-to-video api-manual/video-series/blackforestlabs-flux-3-max-text-to-video.json POST /api/generate/submit The FLUX 3 Max Text to Video API generates 5–20 second videos from a text prompt at 720p or 1080p, with eight aspect ratios and optional native audio. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. FLUX 3 Max Text to Video turns a written prompt into a 5–20 second video at 720p or 1080p, with native audio generated in the same pass. Use it for social shorts, product teasers, concept shots and storyboard drafts when you have no source image. FLUX 3 Max is a video model post-trained by fal in collaboration with Black Forest Labs on the FLUX 3 video base. Vidgo exposes it as three model IDs: [Text to Video](/api-manual/video-series/blackforestlabs-flux-3-max-text-to-video), [Image to Video](/api-manual/video-series/blackforestlabs-flux-3-max-image-to-video) and [Keyframes to Video](/api-manual/video-series/blackforestlabs-flux-3-max-keyframes-to-video). ## Models * **blackforestlabs/flux-3-max/text-to-video** — Text-to-video with FLUX 3 Max, 5–20 seconds, 720p or 1080p, optional audio. ## Features * Text-to-video from a single prompt, no image needed. * Integer durations from 5 to 20 seconds. * 720p or 1080p output. * Eight aspect ratios, including cinematic `21:9` and `2:1`, vertical `9:16` and square `1:1`. * Native audio on by default; describe ambience, effects or dialogue in the prompt. ## Required parameters * `prompt` (string): The scene, the motion and the camera movement. When `sound` is on, you can also describe the sounds you want. Must not be blank. ## Optional parameters * `duration` (integer): Output length in seconds, `5`–`20`. Default `5`. * `resolution` (string): `720p` or `1080p`. Default `720p`. * `aspect_ratio` (string): `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4` or `9:16`. Default `auto`. * `sound` (boolean): Generate native audio with the video. Default `true`; set `false` for silent footage. ## Output The finished task returns one MP4 video in the `files` array of [Query Task Status](/api-manual/task-management/status) and the callback payload. ## Examples * **5-second 720p clip with audio**: a short prompt that also names the sounds (rain, traffic), `16:9`, `sound: true`. * **15-second vertical 1080p clip, silent**: `9:16` for social feeds with `sound: false`, plus a `callback_url` to be notified on completion. ## Notes * This ID accepts text only. To animate a start image, use [FLUX 3 Max Image to Video](/api-manual/video-series/blackforestlabs-flux-3-max-image-to-video). To pin images to specific frames, use [FLUX 3 Max Keyframes to Video](/api-manual/video-series/blackforestlabs-flux-3-max-keyframes-to-video). * Fields not listed above, such as `image_urls` or `keyframes`, return 400. `model` and `callback_url` belong at the request root, not inside `input`. * Credits are reserved at submission and depend on `resolution` and `duration`. The rate is the same for text-to-video, image-to-video and keyframes-to-video, and `sound` does not change it. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. * There is no 4K tier, no `seed` and no output longer than 20 seconds on this model. # FLUX 3 Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/blackforestlabs-flux-3-text-to-video api-manual/video-series/blackforestlabs-flux-3-text-to-video.json POST /api/generate/submit Create video scenes from text with FLUX 3, with optional sound and output up to twenty seconds at 1080p. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create video scenes from text with FLUX 3, with optional sound and output up to twenty seconds at 1080p. ## Models * **blackforestlabs/flux-3/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Choose from `720p`, `1080p` output resolutions. * Control audio generation with `sound`; it defaults to `true`. ## Duration Options * **5-20 seconds** - Set `duration` as an integer. Default: **5 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. ### Resolution * `resolution`: `720p`, `1080p`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`. Default: `auto`. ### Audio * `sound`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Veo 3.1 Fast Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/google-veo3-1-fast-image-to-video api-manual/video-series/google-veo3-1-fast-image-to-video.json POST /api/generate/submit Generate motion from an image or connect opening and closing frames with Veo 3.1 Fast, with optional sound and output up to 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate motion from an image or connect opening and closing frames with Veo 3.1 Fast, with optional sound and output up to 4K. ## Models * **google/veo3.1-fast/image-to-video** - Generate video from image input. ## Features * Generate motion from one starting image, or connect two images as the first and last frames. * Choose from `720p`, `1080p`, `4k` output resolutions. * Control audio generation with `sound`; it defaults to `true`. ## Duration Options * **4, 6, 8 seconds** - Set `duration` to one of these values. Default: **8 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. ### Image URLs * `image_urls`: Required. Provide 1-2 image URLs. * One image is used as the starting frame. * With two images, list the starting frame first and the ending frame second. * Images must be publicly accessible and directly downloadable. ### Generation Type * Omit `generation_type` when supplying one image. * With two images, `generation_type` defaults to `frame`. * If you explicitly set `generation_type: "frame"`, exactly two images are required. ### Resolution * `resolution`: `720p`, `1080p`, `4k`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `auto`, `16:9`, `9:16`. Default: `16:9`. ### Audio * `sound`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Veo 3.1 Fast Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/google-veo3-1-fast-text-to-video api-manual/video-series/google-veo3-1-fast-text-to-video.json POST /api/generate/submit Create video scenes from text with Veo 3.1 Fast, with optional sound and landscape or portrait output up to 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create video scenes from text with Veo 3.1 Fast, with optional sound and landscape or portrait output up to 4K. ## Models * **google/veo3.1-fast/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Choose from `720p`, `1080p`, `4k` output resolutions. * Control audio generation with `sound`; it defaults to `true`. ## Duration Options * **4, 6, 8 seconds** - Set `duration` to one of these values. Default: **8 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. ### Resolution * `resolution`: `720p`, `1080p`, `4k`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `auto`, `16:9`, `9:16`. Default: `16:9`. ### Audio * `sound`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Veo 3.1 Official Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/google-veo3-1-image-to-video api-manual/video-series/google-veo3-1-image-to-video.json POST /api/generate/submit Generate motion from an image or connect opening and closing frames with Veo 3.1, with optional sound and output up to 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate motion from an image or connect opening and closing frames with Veo 3.1, with optional sound and output up to 4K. ## Models * **google/veo3.1/image-to-video** - Generate video from image input. ## Features * Generate motion from one starting image, or connect two images as the first and last frames. * Choose from `720p`, `1080p`, `4k` output resolutions. * Control audio generation with `sound`; it defaults to `true`. ## Duration Options * **4, 6, 8 seconds** - Set `duration` to one of these values. Default: **8 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. ### Image URLs * `image_urls`: Required. Provide 1-2 image URLs. * One image is used as the starting frame. * With two images, list the starting frame first and the ending frame second. * Images must be publicly accessible and directly downloadable. ### Generation Type * Omit `generation_type` when supplying one image. * With two images, `generation_type` defaults to `frame`. * If you explicitly set `generation_type: "frame"`, exactly two images are required. ### Resolution * `resolution`: `720p`, `1080p`, `4k`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `auto`, `16:9`, `9:16`. Default: `16:9`. ### Audio * `sound`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Veo 3.1 Lite Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/google-veo3-1-lite-image-to-video api-manual/video-series/google-veo3-1-lite-image-to-video.json POST /api/generate/submit Generate motion from an image or connect opening and closing frames with Veo 3.1 Lite, with optional sound and output up to 1080p. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate motion from an image or connect opening and closing frames with Veo 3.1 Lite, with optional sound and output up to 1080p. ## Models * **google/veo3.1-lite/image-to-video** - Generate video from image input. ## Features * Generate motion from one starting image, or connect two images as the first and last frames. * Choose from `720p`, `1080p` output resolutions. * Control audio generation with `sound`; it defaults to `true`. ## Duration Options * **4, 6, 8 seconds** - Set `duration` to one of these values. Default: **8 seconds**. * Set `duration: 8` when using `1080p` output or two input images. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. ### Image URLs * `image_urls`: Required. Provide 1-2 image URLs. * One image is used as the starting frame. * With two images, list the starting frame first and the ending frame second. * Images must be publicly accessible and directly downloadable. ### Generation Type * Omit `generation_type` when supplying one image. * With two images, `generation_type` defaults to `frame`. * If you explicitly set `generation_type: "frame"`, exactly two images are required. ### Resolution * `resolution`: `720p`, `1080p`. Default: `720p`. * `1080p` requires `duration: 8`. ### Aspect Ratio * `aspect_ratio`: `auto`, `16:9`, `9:16`. Default: `16:9`. ### Audio * `sound`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Veo 3.1 Lite Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/google-veo3-1-lite-text-to-video api-manual/video-series/google-veo3-1-lite-text-to-video.json POST /api/generate/submit Create video scenes from text with Veo 3.1 Lite, with optional sound and landscape or portrait output up to 1080p. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create video scenes from text with Veo 3.1 Lite, with optional sound and landscape or portrait output up to 1080p. ## Models * **google/veo3.1-lite/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Choose from `720p`, `1080p` output resolutions. * Control audio generation with `sound`; it defaults to `true`. ## Duration Options * **4, 6, 8 seconds** - Set `duration` to one of these values. Default: **8 seconds**. * Set `duration: 8` when using `1080p` output. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. ### Resolution * `resolution`: `720p`, `1080p`. Default: `720p`. * `1080p` requires `duration: 8`. ### Aspect Ratio * `aspect_ratio`: `auto`, `16:9`, `9:16`. Default: `16:9`. ### Audio * `sound`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Veo 3.1 Official Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/google-veo3-1-text-to-video api-manual/video-series/google-veo3-1-text-to-video.json POST /api/generate/submit Create video scenes from text with Veo 3.1, with optional sound and landscape or portrait output up to 4K. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create video scenes from text with Veo 3.1, with optional sound and landscape or portrait output up to 4K. ## Models * **google/veo3.1/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Choose from `720p`, `1080p`, `4k` output resolutions. * Control audio generation with `sound`; it defaults to `true`. ## Duration Options * **4, 6, 8 seconds** - Set `duration` to one of these values. Default: **8 seconds**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the scene and desired motion. * The prompt must not be blank when supplied. ### Resolution * `resolution`: `720p`, `1080p`, `4k`. Default: `720p`. ### Aspect Ratio * `aspect_ratio`: `auto`, `16:9`, `9:16`. Default: `16:9`. ### Audio * `sound`: Set to `true` to enable generated audio, or `false` to disable it. Default: `true`. ## Pricing Pricing depends on the selected model and applicable output settings. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Hailuo 02 Source: https://docs.vidgo.ai/api-manual/video-series/hailuo-02 api-manual/video-series/hailuo-02.json POST /api/generate/submit Advanced video generation with Hailuo 02 > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate high-quality videos using Hailuo 02 models. Create professional content with text-to-video and image-to-video capabilities. ## Models * **hailuo-02** - Standard video generation (768P/512P, up to 10 seconds) * **hailuo-02-pro** - Pro tier video generation. `resolution` accepts `512P` or `768P` (default `768P`); `duration` is not supported. The dedicated `minimax/hailuo-02/pro/*` workflow IDs below behave the same way ## Features * **Flexible Modes**: Text-to-video and image-to-video * **Multiple Resolutions**: 512P and 768P (Standard; the Pro workflow IDs also accept 512P and 768P) * **Duration Options**: 6 or 10 seconds (Standard only) * **Prompt Optimizer**: Optional AI-powered prompt enhancement * **End Frame Control**: Specify ending frame for image-to-video (optional) ## Workflow IDs Existing IDs remain available. New integrations can select a dedicated workflow: * [minimax/hailuo-02/standard/text-to-video](/api-manual/video-series/minimax-hailuo-02-standard-text-to-video) * [minimax/hailuo-02/standard/image-to-video](/api-manual/video-series/minimax-hailuo-02-standard-image-to-video) * [minimax/hailuo-02/pro/text-to-video](/api-manual/video-series/minimax-hailuo-02-pro-text-to-video) * [minimax/hailuo-02/pro/image-to-video](/api-manual/video-series/minimax-hailuo-02-pro-image-to-video) # Hailuo 2.3 Source: https://docs.vidgo.ai/api-manual/video-series/hailuo-2-3 api-manual/video-series/hailuo-2-3.json POST /api/generate/submit Text-to-video and optional first-frame guided generation > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. `hailuo-2.3` supports prompt-only generation and optional first-frame guided generation. ## Models * **hailuo-2.3** - Text-to-video with optional `start_image_url` ## Required parameters * **prompt**: Text prompt for video generation ## Optional parameters * **duration**: `6` or `10`. Default is `6` * **resolution**: `768p` or `1080p`. Default is `768p` * **start\_image\_url**: Optional first-frame image * **prompt\_optimizer**: Optional boolean switch ## Workflow IDs Existing IDs remain available. New integrations can select a dedicated workflow: * [minimax/hailuo-2.3/standard/text-to-video](/api-manual/video-series/minimax-hailuo-2-3-standard-text-to-video) * [minimax/hailuo-2.3/standard/image-to-video](/api-manual/video-series/minimax-hailuo-2-3-standard-image-to-video) * [minimax/hailuo-2.3/pro/text-to-video](/api-manual/video-series/minimax-hailuo-2-3-pro-text-to-video) * [minimax/hailuo-2.3/pro/image-to-video](/api-manual/video-series/minimax-hailuo-2-3-pro-image-to-video) ## Notes * `1080p` only supports `duration=6` # Happy Horse Source: https://docs.vidgo.ai/api-manual/video-series/happy-horse api-manual/video-series/happy-horse.json POST /api/generate/submit Alibaba Happy Horse text-to-video, image-to-video, reference-to-video, and video-edit workflows > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. `happy-horse` supports text-to-video, image-to-video, reference-to-video, and video-edit through one public model ID. ## Models * **happy-horse** - Alibaba Happy Horse 1.0 video generation and editing ## Required parameters * **model**: `happy-horse` * **input.prompt**: Required for text-to-video, reference-to-video and video-edit (maximum 2,500 characters). Optional for image-to-video. * **input.video\_url**: Required for video-edit. * **input.reference\_image\_urls**: Required for reference-to-video. ## Optional parameters * **image\_urls**: Single-item first-frame image URL array for image-to-video * **reference\_image\_urls**: 1-9 images for reference-to-video, or up to 5 optional images for video-edit * **aspect\_ratio**: Text-to-video and reference-to-video only. `16:9`, `9:16`, `1:1`, `4:3`, or `3:4`. Default is `16:9` * **resolution**: `720p` or `1080p`. Default is `1080p` * **duration**: Integer seconds from `3` to `15` for text-to-video, image-to-video, and reference-to-video. Ignored for video-edit * **audio\_setting**: Video-edit only. `auto` or `origin`. Default is `auto` * **seed**: Optional integer from `0` to `2147483647` * **enable\_safety\_checker**: Optional boolean ## Workflows ### Text to Video Send a `prompt` without image or video input fields. Use `aspect_ratio`, `resolution`, and `duration` to control the output. ### Image to Video Send a single-item `image_urls` array. The image is used as the first frame. `prompt` is optional; when supplied it must be nonblank and at most 2,500 characters. ### Reference to Video Send `reference_image_urls` with 1-9 images and a required `prompt`. Describe the referenced subjects in the prompt; `character1` and `character2` markers are not required. Do not combine `reference_image_urls` with `image_urls`. ### Video Edit Send `video_url` with a required edit `prompt`. Optional `reference_image_urls` (up to 5) can guide the edit; describe the referenced subjects in the prompt, no special markers are required. `audio_setting` controls whether Happy Horse decides audio handling automatically or preserves the original audio. The source video must be 3-60 seconds. Video-edit billing uses the probed source video duration according to the current workflow pricing configuration. ## Pricing Happy Horse billing depends on the selected workflow, output resolution, and billable video duration. Check the Vidgo pricing page or dashboard for the current rate before submitting production traffic. Text-to-video, image-to-video, and reference-to-video use the requested `duration`. Video-edit uses the probed source video duration, capped at the maximum billable duration for this workflow. ## Workflow IDs Existing IDs remain available. New integrations can select a dedicated workflow: * [alibaba/happyhorse-1.0/text-to-video](/api-manual/video-series/alibaba-happyhorse-1-0-text-to-video) * [alibaba/happyhorse-1.0/image-to-video](/api-manual/video-series/alibaba-happyhorse-1-0-image-to-video) * [alibaba/happyhorse-1.0/reference-to-video](/api-manual/video-series/alibaba-happyhorse-1-0-reference-to-video) * [alibaba/happyhorse-1.0/video-edit](/api-manual/video-series/alibaba-happyhorse-1-0-video-edit) ## Notes * `image_urls` must resolve to exactly one image and is only for image-to-video. * `reference_image_urls` selects reference-to-video unless `video_url` is present, in which case it is treated as optional video-edit reference imagery. * For text-to-video and reference-to-video, omit `video_url` and use `aspect_ratio`. * For video-edit, omit `duration`; the source video duration is used for validation and duration-based billing. # Kling 1.6 Source: https://docs.vidgo.ai/api-manual/video-series/kling-1-6 api-manual/video-series/kling-1-6.json POST /api/generate/submit Kling 1.6 Standard and Pro video generation through the Vidgo API > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Input Routing The supplied image fields determine the generation workflow. All Kling 1.6 requests require `prompt` and `duration`. * Provide no image fields to generate text-to-video. * Provide `start_image_url` to generate image-to-video. * Provide `start_image_url` and `end_image_url` with `kling-1.6/pro` to control both the first and last frame. * Provide `image_urls` with 1 to 4 reference images to generate Elements. `image_urls` cannot be used together with `start_image_url`, `end_image_url`, or `cfg_scale`. ## Parameter Compatibility | Model and workflow | How Vidgo detects it | Supported parameters | | - | - | - | | Text to Video (`standard` or `pro`) | No image fields | `prompt`, `duration`, `aspect_ratio`, `negative_prompt`, `cfg_scale` | | Standard Image to Video | `kling-1.6/standard` with `start_image_url` | `prompt`, `duration`, `start_image_url`, `negative_prompt`, `cfg_scale` | | Pro Image to Video | `kling-1.6/pro` with `start_image_url` and optional `end_image_url` | `prompt`, `duration`, `aspect_ratio`, `start_image_url`, `end_image_url`, `negative_prompt`, `cfg_scale` | | Elements (`standard` or `pro`) | `image_urls` | `prompt`, `duration`, `aspect_ratio`, `negative_prompt`, `image_urls` | Notes: * `end_image_url` requires `start_image_url` and is only supported by `kling-1.6/pro`. * `kling-1.6/standard` image-to-video does not support `aspect_ratio`. * Elements supports 1 to 4 `image_urls` and does not support `cfg_scale`. * `prompt` and `negative_prompt` support up to 2500 characters. * `cfg_scale` must be between 0 and 1 when provided. ## Response and Status The submit endpoint returns a Vidgo `task_id`. Use it with the unified Query Task Status endpoint to retrieve the final video URL. Initial submit responses include `status`, which is usually `running` after the upstream video task has been created. If submission fails during upstream task creation, the status may be `failed` and the task can be inspected through the status endpoint. ## Workflow IDs Existing IDs remain available. New integrations can select a dedicated workflow: * [kwaivgi/kling-video/v1.6/standard/text-to-video](/api-manual/video-series/kwaivgi-kling-video-v1-6-standard-text-to-video) * [kwaivgi/kling-video/v1.6/standard/image-to-video](/api-manual/video-series/kwaivgi-kling-video-v1-6-standard-image-to-video) * [kwaivgi/kling-video/v1.6/pro/text-to-video](/api-manual/video-series/kwaivgi-kling-video-v1-6-pro-text-to-video) * [kwaivgi/kling-video/v1.6/pro/image-to-video](/api-manual/video-series/kwaivgi-kling-video-v1-6-pro-image-to-video) # Kling 2.1 Source: https://docs.vidgo.ai/api-manual/video-series/kling-2-1 api-manual/video-series/kling-2-1.json POST /api/generate/submit Standard and Pro image-to-video generation > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Kling 2.1 provides two public models under the same request format: `kling-2.1/standard` and `kling-2.1/pro`. ## Models * **kling-2.1/standard** - Start-frame guided image-to-video * **kling-2.1/pro** - Start-frame guided image-to-video with optional end frame ## Required parameters * **prompt**: Text prompt for generation * **start\_image\_url**: Required first frame image ## Optional parameters * **duration**: `5` or `10`. Default is `5` * **end\_image\_url**: Optional, only supported by `kling-2.1/pro` * **negative\_prompt**: Optional negative prompt ## Workflow IDs Existing IDs remain available. New integrations can select a dedicated workflow: * [kwaivgi/kling-video/v2.1/standard/image-to-video](/api-manual/video-series/kwaivgi-kling-video-v2-1-standard-image-to-video) * [kwaivgi/kling-video/v2.1/pro/image-to-video](/api-manual/video-series/kwaivgi-kling-video-v2-1-pro-image-to-video) ## Notes * `kling-2.1/standard` does not support `end_image_url` * `kling-2.1/pro` supports both start image and optional end image # Kling 2.6 Motion Control Source: https://docs.vidgo.ai/api-manual/video-series/kling-2.6-motion-control api-manual/video-series/kling-2.6-motion-control.json POST /api/generate/submit Advanced motion transfer with character animation > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Transfer motion from reference videos to character images with precise motion control. Create dynamic character animations by combining static images with motion reference videos while controlling scene details through text prompts. ## Models * **kling-2.6-motion-control** - Motion transfer from video to character image ## Features * **Motion Transfer**: Transfer real human motion, gestures, and expressions from reference videos to character images * **Character Animation**: Animate static characters with dynamic motion patterns * **Character Orientation Control**: Choose between matching image orientation (max 10s output) or video orientation (max 30s output) * **Scene Control**: Control scene details and environment through optional text prompts * **Flexible Resolution**: Choose between 720p (standard) or 1080p (high quality) output ## Required parameters * **image\_urls**: Single character image showing the subject's head, shoulders, and torso * **video\_urls**: Single reference video (3-30 seconds) for motion transfer * **character\_orientation**: * `"image"` - Matches the person's orientation in the photograph (maximum 10-second output) * `"video"` - Maintains consistency with character orientation from the reference video (maximum 30-second output) * **mode**: Output resolution (`"720p"` or `"1080p"`) ## Optional parameters * **prompt**: Text description of the desired output scene (max 2,500 characters) ## Workflow IDs Existing IDs remain available. New integrations can select a dedicated workflow: * [kwaivgi/kling-v2.6-std/motion-control](/api-manual/video-series/kwaivgi-kling-v2-6-std-motion-control) * [kwaivgi/kling-v2.6-pro/motion-control](/api-manual/video-series/kwaivgi-kling-v2-6-pro-motion-control) # Kling 3.0 Source: https://docs.vidgo.ai/api-manual/video-series/kling-3-0 api-manual/video-series/kling-3-0.json POST /api/generate/submit Next-generation video generation with standard and pro resolution > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Models * **kling-3.0/standard** - HD resolution (\~720p/1K) * **kling-3.0/pro** - Full HD resolution (1080p/2K), sharper and more detailed output ## Features * **Native Audio**: Controlled by `input.sound`. Set `true` to enable sound effects and `false` to disable them. When `multi_shots` is `true`, `sound` must be `true` * **Flexible Duration**: 3 to 15 seconds * **Aspect Ratios**: 1:1 (square), 16:9 (landscape), and 9:16 (portrait) * **Modes**: Text-to-video and image-to-video (start and end frames) * **Multi-Shot**: Multi-shot storytelling with per-shot prompts and durations * **Element References**: Define reusable elements (via images or video) and reference them in prompts using `@element_name` syntax. `image_urls` is required when using element references ## Workflow IDs Existing IDs remain available. New integrations can select a dedicated workflow: * [kwaivgi/kling-v3.0-std/text-to-video](/api-manual/video-series/kwaivgi-kling-v3-0-std-text-to-video) * [kwaivgi/kling-v3.0-std/image-to-video](/api-manual/video-series/kwaivgi-kling-v3-0-std-image-to-video) * [kwaivgi/kling-v3.0-pro/text-to-video](/api-manual/video-series/kwaivgi-kling-v3-0-pro-text-to-video) * [kwaivgi/kling-v3.0-pro/image-to-video](/api-manual/video-series/kwaivgi-kling-v3-0-pro-image-to-video) # Kling 3.0 Motion Control Source: https://docs.vidgo.ai/api-manual/video-series/kling-3-0-motion-control api-manual/video-series/kling-3-0-motion-control.json POST /api/generate/submit Reference image and reference video motion transfer > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. `kling-3.0-motion-control` combines one reference image and one reference video to transfer motion to the target character. ## Models * **kling-3.0-motion-control** - Motion transfer from reference video to reference image ## Required parameters * **image\_urls**: Exactly `1` reference image * **video\_urls**: Exactly `1` reference video * **character\_orientation**: `image` or `video` ## Optional parameters * **prompt**: Optional scene prompt * **resolution**: `720p` or `1080p`. Default is `720p` ## Workflow IDs Existing IDs remain available. New integrations can select a dedicated workflow: * [kwaivgi/kling-v3.0-std/motion-control](/api-manual/video-series/kwaivgi-kling-v3-0-std-motion-control) * [kwaivgi/kling-v3.0-pro/motion-control](/api-manual/video-series/kwaivgi-kling-v3-0-pro-motion-control) ## Notes * Images support `.jpg`, `.jpeg`, `.png`, up to `10MB` * Videos support `.mp4`, `.mov`, up to `100MB` * Reference video must be at least `3` seconds * When `character_orientation=image`, the reference video must not exceed `10` seconds * When `character_orientation=video`, the reference video must not exceed `30` seconds # Kling 2.5 Turbo Pro Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v2-5-turbo-pro-image-to-video api-manual/video-series/kwaivgi-kling-v2-5-turbo-pro-image-to-video.json POST /api/generate/submit Generate video with Kling 2.5 Turbo Pro using a start frame, an end frame, or both, plus a text prompt. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Generate video with Kling 2.5 Turbo Pro using a start frame, an end frame, or both, plus a text prompt. ## Models * **kwaivgi/kling-v2.5-turbo-pro/image-to-video** - Generate video from image input. ## Features * Generate video from image input. * Guide generation with `start_image_url`, `end_image_url`, or both. ## Duration Options * **5, 10 seconds** - Set `duration` as an integer. Optional. Default: **5 seconds**. Strings, booleans, fractional durations, and `null` are rejected. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials or whitespace. Image fields do not accept arrays or Base64. ### Prompt * `prompt`: Required. Describe the scene and desired motion. Length: **1-2,500 characters**. * Supply a string, not a number, boolean, array, or object. Whitespace is trimmed before the 2,500 Unicode character limit is checked. ### Start Image URL * `start_image_url`: First-frame public HTTP(S) URL. Required only when `end_image_url` is omitted. ### End Image URL * `end_image_url`: Last-frame public HTTP(S) URL. Required only when `start_image_url` is omitted. * Provide at least one frame: start only, end only, or both. Omit unused URL fields; empty strings and `null` are rejected. ### Aspect Ratio * `aspect_ratio`: Optional string. No preset choices or default value are specified. Omit when unused. ### Negative Prompt * `negative_prompt`: Optional. Describe content to avoid. ## Billing Factors Billing depends on video duration (`duration`). Text-to-video and image-to-video use the same rates. Credits are deducted on submission and refunded if the task fails. # Kling 2.5 Turbo Pro Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v2-5-turbo-pro-text-to-video api-manual/video-series/kwaivgi-kling-v2-5-turbo-pro-text-to-video.json POST /api/generate/submit Create five- or ten-second scenes with Kling 2.5 Turbo Pro, using text to direct subjects, action, and visual style. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create five- or ten-second scenes with Kling 2.5 Turbo Pro, using text to direct subjects, action, and visual style. ## Models * **kwaivgi/kling-v2.5-turbo-pro/text-to-video** - Generate video scenes from text prompts. * For frame guidance, use the [image-to-video endpoint](/api-manual/video-series/kwaivgi-kling-v2-5-turbo-pro-image-to-video). ## Features * Generate video scenes from text prompts. * Use `negative_prompt` to describe content to avoid. ## Duration Options * **5, 10 seconds** - Set `duration` as an integer. Optional. Default: **5 seconds**. Strings, booleans, fractional durations, and `null` are rejected. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt`: Required. Describe the scene and desired motion. Length: **1-2,500 characters**. * Supply a string, not a number, boolean, array, or object. Whitespace is trimmed before the 2,500 Unicode character limit is checked. ### Aspect Ratio * `aspect_ratio`: Optional string. No preset choices or default value are specified. Omit when unused. ### Negative Prompt * `negative_prompt`: Optional. Describe content to avoid. ## Billing Factors Billing depends on video duration (`duration`). Text-to-video and image-to-video use the same rates. Credits are deducted on submission and refunded if the task fails. # Kling 2.6 Pro Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v2-6-pro-image-to-video api-manual/video-series/kwaivgi-kling-v2-6-pro-image-to-video.json POST /api/generate/submit Kling 2.6 Pro Image to Video API parameters and billing factors > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Submit `kwaivgi/kling-v2.6-pro/image-to-video` through `POST /api/generate/submit`. Query the returned `task_id` with [Task Status](/api-manual/task-management/status), or provide a top-level `callback_url`. ## Parameters * `prompt`: Required nonblank string, 1 to 1,000 characters after trimming leading and trailing whitespace. * `duration`: Required integer: 5 or 10 seconds. Strings and fractional durations are rejected. * `aspect_ratio`: Required: 16:9, 9:16 or 1:1. This field must be submitted but does not control the output aspect ratio for image-to-video. * `sound`: Required boolean: true for audio, false for no audio. Must be false when end\_image\_url is provided. * `image_urls`: Required array containing at least one publicly accessible HTTP(S) image URL. URLs must not contain embedded credentials or whitespace. * `end_image_url`: Optional publicly accessible HTTP(S) last-frame image URL, without embedded credentials or whitespace. Omit this field when not using a last frame; empty strings and null are not accepted. Requires sound=false. * Use standard JSON types. Unknown input fields and invalid values are rejected before submission and charging. * URLs using `example.com` or `your-domain.com` are placeholders. Replace them with your own publicly accessible image URLs and callback endpoint where applicable. ## Billing Factors Billing depends on video duration (`duration`) and whether audio is generated (`sound`). The Pro text-to-video and image-to-video endpoints use the same rates. # Kling 2.6 Pro Motion Control Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v2-6-pro-motion-control api-manual/video-series/kwaivgi-kling-v2-6-pro-motion-control.json POST /api/generate/submit Transfer movement from a reference video to an image subject with Kling 2.6 Pro, with orientation control and 1080p output. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Transfer movement from a reference video to an image subject with Kling 2.6 Pro, with orientation control and 1080p output. ## Models * **kwaivgi/kling-v2.6-pro/motion-control** - Transfer movement from a reference video to a character in a reference image. ## Features * Transfer movement from a reference video to a character in a reference image. * Output resolution is fixed to `1080p` for this model ID. ## Duration Options * **Image orientation** - The reference video must be **3-10 seconds** when `character_orientation` is `image`. * **Video orientation** - The reference video must be **3-30 seconds** when `character_orientation` is `video`. * The service inspects the reference video duration. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt` is optional. `null`, empty, and whitespace-only values are treated as omitted. * Nonempty prompts are trimmed and limited to **2,500 characters**. ### Image URLs * `image_urls`: Required. Provide exactly 1 image URL. * The image provides the target character for motion transfer. * Images must be publicly accessible and directly downloadable. ### Source Video * `video_urls`: Required. Provide an array containing exactly one publicly accessible source video URL. * The video provides the movement to transfer. Its duration must match the orientation limits above. * The source video must be directly downloadable over HTTP(S) and no larger than **100 MiB** for duration inspection. ### Character Orientation * `character_orientation` is required: choose `image` or `video`. * `image` allows reference videos from **3 to 10 seconds**. * `video` allows reference videos from **3 to 30 seconds**. ### Resolution * `resolution`: `1080p`. Default: `1080p`. * This model ID fixes the resolution. Omit the field to use its default; a resolution from the other tier is rejected. ## Pricing Credits are calculated from the detected reference-video duration multiplied by this endpoint's rate, then rounded up to a whole credit. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Kling 2.6 Pro Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v2-6-pro-text-to-video api-manual/video-series/kwaivgi-kling-v2-6-pro-text-to-video.json POST /api/generate/submit Kling 2.6 Pro Text to Video API parameters and billing factors > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Submit `kwaivgi/kling-v2.6-pro/text-to-video` through `POST /api/generate/submit`. Query the returned `task_id` with [Task Status](/api-manual/task-management/status), or provide a top-level `callback_url`. ## Parameters * `prompt`: Required nonblank string, 1 to 1,000 characters after trimming leading and trailing whitespace. * `duration`: Required integer: 5 or 10 seconds. Strings and fractional durations are rejected. * `aspect_ratio`: Required: 16:9, 9:16 or 1:1. Controls the output video aspect ratio. * `sound`: Required boolean: true for audio, false for no audio. * Use standard JSON types. Unknown input fields and invalid values are rejected before submission and charging. * URLs using `example.com` or `your-domain.com` are placeholders. Replace them with your own publicly accessible image URLs and callback endpoint where applicable. ## Billing Factors Billing depends on video duration (`duration`) and whether audio is generated (`sound`). The Pro text-to-video and image-to-video endpoints use the same rates. # Kling 2.6 Standard Motion Control Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v2-6-std-motion-control api-manual/video-series/kwaivgi-kling-v2-6-std-motion-control.json POST /api/generate/submit Transfer movement from a reference video to an image subject with Kling 2.6 Standard, with orientation control and 720p output. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Transfer movement from a reference video to an image subject with Kling 2.6 Standard, with orientation control and 720p output. ## Models * **kwaivgi/kling-v2.6-std/motion-control** - Transfer movement from a reference video to a character in a reference image. ## Features * Transfer movement from a reference video to a character in a reference image. * Output resolution is fixed to `720p` for this model ID. ## Duration Options * **Image orientation** - The reference video must be **3-10 seconds** when `character_orientation` is `image`. * **Video orientation** - The reference video must be **3-30 seconds** when `character_orientation` is `video`. * The service inspects the reference video duration. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt` is optional. `null`, empty, and whitespace-only values are treated as omitted. * Nonempty prompts are trimmed and limited to **2,500 characters**. ### Image URLs * `image_urls`: Required. Provide exactly 1 image URL. * The image provides the target character for motion transfer. * Images must be publicly accessible and directly downloadable. ### Source Video * `video_urls`: Required. Provide an array containing exactly one publicly accessible source video URL. * The video provides the movement to transfer. Its duration must match the orientation limits above. * The source video must be directly downloadable over HTTP(S) and no larger than **100 MiB** for duration inspection. ### Character Orientation * `character_orientation` is required: choose `image` or `video`. * `image` allows reference videos from **3 to 10 seconds**. * `video` allows reference videos from **3 to 30 seconds**. ### Resolution * `resolution`: `720p`. Default: `720p`. * This model ID fixes the resolution. Omit the field to use its default; a resolution from the other tier is rejected. ## Pricing Credits are calculated from the detected reference-video duration multiplied by this endpoint's rate, then rounded up to a whole credit. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Kling 3.0 4K Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v3-0-4k-image-to-video api-manual/video-series/kwaivgi-kling-v3-0-4k-image-to-video.json POST /api/generate/submit Animate image references with Kling 3.0 4K, with support for multiple shots, individual shot prompts, and optional sound. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Animate image references with Kling 3.0 4K, with support for multiple shots, individual shot prompts, and optional sound. ## Models * **kwaivgi/kling-v3.0-4k/image-to-video** - Generate video from image input. ## Features * Generate video from image input. * Provide 1–2 images in `image_urls`. * Describe individual shots with `multi_prompt` and enable `multi_shots`. * Supply additional subject references through `kling_elements`. ## Duration Options * **3-15 seconds** - Set `duration` as an integer. Required. * With `multi_prompt`, the shot durations must add up to the requested `duration`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Use the input fields listed below. Send durations as JSON integers and switches as JSON booleans. Use public HTTP(S) media URLs with a hostname and URL-based access. * Each `multi_prompt` shot requires a nonblank `prompt` and an integer `duration` from **1 to 12 seconds**. * The shot durations must sum to the requested `duration`. Set `multi_shots: true` and `sound: true` when using `multi_prompt`. * When supplying `kling_elements`, provide `image_urls` and reference the element by `@element_name` in the prompt. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1–2 items: the start frame first, followed by an optional end frame. Each item must be an HTTP(S) URL. ### Prompt * `prompt`: Required when `multi_shots` is `false`. Describe the scene and desired motion. Length: **1-2,500 characters**. * Use nonblank text for each prompt. ### Multi-Prompt * `multi_prompt`: Required when `multi_shots` is `true`. Supply a nonempty array. Each item is an object. * `multi_prompt[].prompt`: Required. Maximum length: **2,500 characters**. * `multi_prompt[].duration`: Required. Duration in seconds. Integer from `1` to `12`. * Each shot duration is measured in seconds. ### Multi-Shot Generation * `multi_shots`: Optional. Enable multi-shot generation. Use `true` or `false`. Default: `false`. ### Sound * `sound`: Required. Set `true` to generate audio or `false` for a silent single shot. Multiple shots require `true`. ### Kling Elements * `kling_elements`: Optional. Provide element-reference objects. Supply an array. Each item is an object. * Element object properties are preserved in the submitted request. # Kling 3.0 4K Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v3-0-4k-text-to-video api-manual/video-series/kwaivgi-kling-v3-0-4k-text-to-video.json POST /api/generate/submit Direct video sequences with Kling 3.0 4K, using individual shot prompts, shot timing, and optional sound to shape a scene. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Direct video sequences with Kling 3.0 4K, using individual shot prompts, shot timing, and optional sound to shape a scene. ## Models * **kwaivgi/kling-v3.0-4k/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Describe individual shots with `multi_prompt` and enable `multi_shots`. ## Duration Options * **3-15 seconds** - Set `duration` as an integer. Required. * With `multi_prompt`, the shot durations must add up to the requested `duration`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Use the input fields listed below. Send durations as JSON integers and switches as JSON booleans. * Each `multi_prompt` shot requires a nonblank `prompt` and an integer `duration` from **1 to 12 seconds**. * The shot durations must sum to the requested `duration`. Set `multi_shots: true` and `sound: true` when using `multi_prompt`. ### Prompt * `prompt`: Required when `multi_shots` is `false`. Describe the scene and desired motion. Length: **1-2,500 characters**. * Use nonblank text for each prompt. ### Multi-Prompt * `multi_prompt`: Required when `multi_shots` is `true`. Supply a nonempty array. Each item is an object. * `multi_prompt[].prompt`: Required. Maximum length: **2,500 characters**. * `multi_prompt[].duration`: Required. Duration in seconds. Integer from `1` to `12`. * Each shot duration is measured in seconds. ### Multi-Shot Generation * `multi_shots`: Optional. Enable multi-shot generation. Use `true` or `false`. Default: `false`. ### Sound * `sound`: Required. Set `true` to generate audio or `false` for a silent single shot. Multiple shots require `true`. # Kling 3.0 Pro Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v3-0-pro-image-to-video api-manual/video-series/kwaivgi-kling-v3-0-pro-image-to-video.json POST /api/generate/submit Animate image references with Kling 3.0 Pro, with support for multiple shots, individual shot prompts, and optional sound. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Animate image references with Kling 3.0 Pro, with support for multiple shots, individual shot prompts, and optional sound. ## Models * **kwaivgi/kling-v3.0-pro/image-to-video** - Generate video from image input. ## Features * Generate video from image input. * Provide 1–2 images in `image_urls`. * Describe individual shots with `multi_prompt` and enable `multi_shots`. * Supply additional subject references through `kling_elements`. ## Duration Options * **3-15 seconds** - Set `duration` as an integer. Required. * With `multi_prompt`, the shot durations must add up to the requested `duration`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Use the input fields listed below. Send durations as JSON integers and switches as JSON booleans. Use public HTTP(S) media URLs with a hostname and URL-based access. * Each `multi_prompt` shot requires a nonblank `prompt` and an integer `duration` from **1 to 12 seconds**. * The shot durations must sum to the requested `duration`. Set `multi_shots: true` and `sound: true` when using `multi_prompt`. * When supplying `kling_elements`, provide `image_urls` and reference the element by `@element_name` in the prompt. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1–2 items: the start frame first, followed by an optional end frame. For multiple shots, provide one start frame. Each item must be an HTTP(S) URL. ### Prompt * `prompt`: Required when `multi_shots` is `false`. Describe the scene and desired motion. Length: **1-2,500 characters**. * Use nonblank text for each prompt. ### Multi-Prompt * `multi_prompt`: Required when `multi_shots` is `true`. Supply a nonempty array. Each item is an object. * `multi_prompt[].prompt`: Required. Maximum length: **2,500 characters**. * `multi_prompt[].duration`: Required. Duration in seconds. Integer from `1` to `12`. * Each shot duration is measured in seconds. ### Multi-Shot Generation * `multi_shots`: Optional. Enable multi-shot generation. Use `true` or `false`. Default: `false`. ### Sound * `sound`: Optional. Set `true` to generate audio or `false` for a silent single shot. Multiple shots require `true`. Default: `true`. ### Kling Elements * `kling_elements`: Optional. Provide element-reference objects. Supply an array. Each item is an object. * `kling_elements[].name`: Required. Nonblank element name used in `@element_name` references. * `kling_elements[].description`: Optional. String. * `kling_elements[].element_input_urls`: Provide 2–4 JPG/PNG image URLs, up to 10 MB per image, when defining the element with images. * `kling_elements[].element_input_video_urls`: Provide one MP4/MOV video URL, up to 50 MB, when defining the element with video. Choose one media type per element. ### Aspect Ratio * `aspect_ratio`: Optional. Accepted values: `1:1`, `16:9`, `9:16`. The first frame determines the output aspect ratio. # Kling 3.0 Pro Motion Control Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v3-0-pro-motion-control api-manual/video-series/kwaivgi-kling-v3-0-pro-motion-control.json POST /api/generate/submit Transfer movement from a reference video to an image subject with Kling 3.0 Pro, with orientation control and 1080p output. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Transfer movement from a reference video to an image subject with Kling 3.0 Pro, with orientation control and 1080p output. ## Models * **kwaivgi/kling-v3.0-pro/motion-control** - Transfer movement from a reference video to a character in a reference image. ## Features * Transfer movement from a reference video to a character in a reference image. * Output resolution is fixed to `1080p` for this model ID. * Add one facial element when using video orientation. ## Duration Options * **Image orientation** - The reference video must be **3-10 seconds** when `character_orientation` is `image`. * **Video orientation** - The reference video must be **3-30 seconds** when `character_orientation` is `video`. * The service inspects the reference video duration. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt` is optional. `null`, empty, and whitespace-only values are treated as omitted. * Nonempty prompts are trimmed and limited to **2,500 characters**. ### Image URLs * `image_urls`: Required. Provide exactly 1 image URL. * The image provides the target character for motion transfer. * Images must be publicly accessible and directly downloadable. ### Source Video * `video_urls`: Required. Provide an array containing exactly one publicly accessible source video URL. * The video provides the movement to transfer. Its duration must match the orientation limits above. * The source video must be directly downloadable over HTTP(S) and no larger than **100 MiB** for duration inspection. ### Character Orientation * `character_orientation` is required: choose `image` or `video`. * `image` allows reference videos from **3 to 10 seconds**. * `video` allows reference videos from **3 to 30 seconds**. ### Facial Elements * `kling_elements` is optional and accepts at most **one facial element**. * Use it only when `character_orientation` is `video`. * The element requires `frontal_image_url` and **1-3** `reference_image_urls`. ### Resolution * `resolution`: `1080p`. Default: `1080p`. * This model ID fixes the resolution. Omit the field to use its default; a resolution from the other tier is rejected. ## Pricing Credits are calculated from the detected reference-video duration multiplied by this endpoint's rate, then rounded up to a whole credit. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Kling 3.0 Pro Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v3-0-pro-text-to-video api-manual/video-series/kwaivgi-kling-v3-0-pro-text-to-video.json POST /api/generate/submit Direct video sequences with Kling 3.0 Pro, using individual shot prompts, shot timing, and optional sound to shape a scene. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Direct video sequences with Kling 3.0 Pro, using individual shot prompts, shot timing, and optional sound to shape a scene. ## Models * **kwaivgi/kling-v3.0-pro/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Describe individual shots with `multi_prompt` and enable `multi_shots`. ## Duration Options * **3-15 seconds** - Set `duration` as an integer. Required. * With `multi_prompt`, the shot durations must add up to the requested `duration`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Use the input fields listed below. Send durations as JSON integers and switches as JSON booleans. * Each `multi_prompt` shot requires a nonblank `prompt` and an integer `duration` from **1 to 12 seconds**. * The shot durations must sum to the requested `duration`. Set `multi_shots: true` and `sound: true` when using `multi_prompt`. ### Prompt * `prompt`: Required when `multi_shots` is `false`. Describe the scene and desired motion. Length: **1-2,500 characters**. * Use nonblank text for each prompt. ### Multi-Prompt * `multi_prompt`: Required when `multi_shots` is `true`. Supply a nonempty array. Each item is an object. * `multi_prompt[].prompt`: Required. Maximum length: **2,500 characters**. * `multi_prompt[].duration`: Required. Duration in seconds. Integer from `1` to `12`. * Each shot duration is measured in seconds. ### Multi-Shot Generation * `multi_shots`: Optional. Enable multi-shot generation. Use `true` or `false`. Default: `false`. ### Sound * `sound`: Optional. Set `true` to generate audio or `false` for a silent single shot. Multiple shots require `true`. Default: `true`. ### Aspect Ratio * `aspect_ratio`: Optional. Accepted values: `1:1`, `16:9`, `9:16`. Default: `1:1`. # Kling 3.0 Standard Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v3-0-std-image-to-video api-manual/video-series/kwaivgi-kling-v3-0-std-image-to-video.json POST /api/generate/submit Animate image references with Kling 3.0 Standard, with support for multiple shots, individual shot prompts, and optional sound. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Animate image references with Kling 3.0 Standard, with support for multiple shots, individual shot prompts, and optional sound. ## Models * **kwaivgi/kling-v3.0-std/image-to-video** - Generate video from image input. ## Features * Generate video from image input. * Provide 1–2 images in `image_urls`. * Describe individual shots with `multi_prompt` and enable `multi_shots`. * Supply additional subject references through `kling_elements`. ## Duration Options * **3-15 seconds** - Set `duration` as an integer. Required. * With `multi_prompt`, the shot durations must add up to the requested `duration`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Use the input fields listed below. Send durations as JSON integers and switches as JSON booleans. Use public HTTP(S) media URLs with a hostname and URL-based access. * Each `multi_prompt` shot requires a nonblank `prompt` and an integer `duration` from **1 to 12 seconds**. * The shot durations must sum to the requested `duration`. Set `multi_shots: true` and `sound: true` when using `multi_prompt`. * When supplying `kling_elements`, provide `image_urls` and reference the element by `@element_name` in the prompt. ### Image URLs * `image_urls`: Required. Provide publicly accessible image URLs. Supply 1–2 items: the start frame first, followed by an optional end frame. For multiple shots, provide one start frame. Each item must be an HTTP(S) URL. ### Prompt * `prompt`: Required when `multi_shots` is `false`. Describe the scene and desired motion. Length: **1-2,500 characters**. * Use nonblank text for each prompt. ### Multi-Prompt * `multi_prompt`: Required when `multi_shots` is `true`. Supply a nonempty array. Each item is an object. * `multi_prompt[].prompt`: Required. Maximum length: **2,500 characters**. * `multi_prompt[].duration`: Required. Duration in seconds. Integer from `1` to `12`. * Each shot duration is measured in seconds. ### Multi-Shot Generation * `multi_shots`: Optional. Enable multi-shot generation. Use `true` or `false`. Default: `false`. ### Sound * `sound`: Optional. Set `true` to generate audio or `false` for a silent single shot. Multiple shots require `true`. Default: `true`. ### Kling Elements * `kling_elements`: Optional. Provide element-reference objects. Supply an array. Each item is an object. * `kling_elements[].name`: Required. Nonblank element name used in `@element_name` references. * `kling_elements[].description`: Optional. String. * `kling_elements[].element_input_urls`: Provide 2–4 JPG/PNG image URLs, up to 10 MB per image, when defining the element with images. * `kling_elements[].element_input_video_urls`: Provide one MP4/MOV video URL, up to 50 MB, when defining the element with video. Choose one media type per element. ### Aspect Ratio * `aspect_ratio`: Optional. Accepted values: `1:1`, `16:9`, `9:16`. The first frame determines the output aspect ratio. # Kling 3.0 Standard Motion Control Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v3-0-std-motion-control api-manual/video-series/kwaivgi-kling-v3-0-std-motion-control.json POST /api/generate/submit Transfer movement from a reference video to an image subject with Kling 3.0 Standard, with orientation control and 720p output. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Transfer movement from a reference video to an image subject with Kling 3.0 Standard, with orientation control and 720p output. ## Models * **kwaivgi/kling-v3.0-std/motion-control** - Transfer movement from a reference video to a character in a reference image. ## Features * Transfer movement from a reference video to a character in a reference image. * Output resolution is fixed to `720p` for this model ID. * Add one facial element when using video orientation. ## Duration Options * **Image orientation** - The reference video must be **3-10 seconds** when `character_orientation` is `image`. * **Video orientation** - The reference video must be **3-30 seconds** when `character_orientation` is `video`. * The service inspects the reference video duration. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt` is optional. `null`, empty, and whitespace-only values are treated as omitted. * Nonempty prompts are trimmed and limited to **2,500 characters**. ### Image URLs * `image_urls`: Required. Provide exactly 1 image URL. * The image provides the target character for motion transfer. * Images must be publicly accessible and directly downloadable. ### Source Video * `video_urls`: Required. Provide an array containing exactly one publicly accessible source video URL. * The video provides the movement to transfer. Its duration must match the orientation limits above. * The source video must be directly downloadable over HTTP(S) and no larger than **100 MiB** for duration inspection. ### Character Orientation * `character_orientation` is required: choose `image` or `video`. * `image` allows reference videos from **3 to 10 seconds**. * `video` allows reference videos from **3 to 30 seconds**. ### Facial Elements * `kling_elements` is optional and accepts at most **one facial element**. * Use it only when `character_orientation` is `video`. * The element requires `frontal_image_url` and **1-3** `reference_image_urls`. ### Resolution * `resolution`: `720p`. Default: `720p`. * This model ID fixes the resolution. Omit the field to use its default; a resolution from the other tier is rejected. ## Pricing Credits are calculated from the detected reference-video duration multiplied by this endpoint's rate, then rounded up to a whole credit. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Kling 3.0 Standard Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v3-0-std-text-to-video api-manual/video-series/kwaivgi-kling-v3-0-std-text-to-video.json POST /api/generate/submit Direct video sequences with Kling 3.0 Standard, using individual shot prompts, shot timing, and optional sound to shape a scene. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Direct video sequences with Kling 3.0 Standard, using individual shot prompts, shot timing, and optional sound to shape a scene. ## Models * **kwaivgi/kling-v3.0-std/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Describe individual shots with `multi_prompt` and enable `multi_shots`. ## Duration Options * **3-15 seconds** - Set `duration` as an integer. Required. * With `multi_prompt`, the shot durations must add up to the requested `duration`. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Use the input fields listed below. Send durations as JSON integers and switches as JSON booleans. * Each `multi_prompt` shot requires a nonblank `prompt` and an integer `duration` from **1 to 12 seconds**. * The shot durations must sum to the requested `duration`. Set `multi_shots: true` and `sound: true` when using `multi_prompt`. ### Prompt * `prompt`: Required when `multi_shots` is `false`. Describe the scene and desired motion. Length: **1-2,500 characters**. * Use nonblank text for each prompt. ### Multi-Prompt * `multi_prompt`: Required when `multi_shots` is `true`. Supply a nonempty array. Each item is an object. * `multi_prompt[].prompt`: Required. Maximum length: **2,500 characters**. * `multi_prompt[].duration`: Required. Duration in seconds. Integer from `1` to `12`. * Each shot duration is measured in seconds. ### Multi-Shot Generation * `multi_shots`: Optional. Enable multi-shot generation. Use `true` or `false`. Default: `false`. ### Sound * `sound`: Optional. Set `true` to generate audio or `false` for a silent single shot. Multiple shots require `true`. Default: `true`. ### Aspect Ratio * `aspect_ratio`: Optional. Accepted values: `1:1`, `16:9`, `9:16`. Default: `1:1`. # Kling 3.0 Turbo Pro Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v3-turbo-pro-image-to-video api-manual/video-series/kwaivgi-kling-v3-turbo-pro-image-to-video.json POST /api/generate/submit Bring reference images into motion with Kling 3.0 Turbo Pro, using text and shot prompts to guide a video sequence. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Bring reference images into motion with Kling 3.0 Turbo Pro, using text and shot prompts to guide a video sequence. ## Models * **kwaivgi/kling-v3-turbo-pro/image-to-video** - Generate video from image input. ## Features * Animate a single reference image. * Direct one scene with `prompt`, or use `multi_prompt` for up to six shots. * The input image determines the output aspect ratio. ## Duration Options * **3-15 seconds** - Accepted range for an explicit `duration`. Without `multi_prompt`, the default is **5 seconds**. * **Multi-shot output** - Each shot accepts `1`-`15` seconds and defaults to `5`. The total must not exceed **15 seconds**. * With `multi_prompt`, omit `duration` to use the shot total, including totals of **1 or 2 seconds**. If supplied, `duration` must equal the shot total and remain within `3`-`15` seconds. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt` is optional and supports up to **2,500 characters**. Blank optional prompts are treated as omitted. * Use either `prompt` or `multi_prompt`; do not combine them. ### Image URLs * `image_urls`: Required. Provide exactly 1 image URL. * Images must be publicly accessible and directly downloadable. ### Multi-Prompt * `multi_prompt` accepts **1-6 shot objects** and cannot be combined with `prompt`. * Each shot requires a nonblank `prompt` of at most **2,500 characters**. * Each shot can include an integer `duration` from **1 to 15 seconds**; the default is **5 seconds**. * The combined shot duration must not exceed **15 seconds**. See Duration Options for the top-level `duration` rules. ### Aspect Ratio * The output aspect ratio follows the input image. * `aspect_ratio` is ignored by this endpoint and can be omitted. ## Pricing With `multi_prompt`, billing uses the combined shot duration. Otherwise, it uses the requested `duration` or its default. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Kling 3.0 Turbo Pro Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v3-turbo-pro-text-to-video api-manual/video-series/kwaivgi-kling-v3-turbo-pro-text-to-video.json POST /api/generate/submit Build video scenes with Kling 3.0 Turbo Pro, using text and individual shot prompts to direct action and composition. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Build video scenes with Kling 3.0 Turbo Pro, using text and individual shot prompts to direct action and composition. ## Models * **kwaivgi/kling-v3-turbo-pro/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Direct one scene with `prompt`, or use `multi_prompt` for up to six shots. ## Duration Options * **3-15 seconds** - Accepted range for an explicit `duration`. Without `multi_prompt`, the default is **5 seconds**. * **Multi-shot output** - Each shot accepts `1`-`15` seconds and defaults to `5`. The total must not exceed **15 seconds**. * With `multi_prompt`, omit `duration` to use the shot total, including totals of **1 or 2 seconds**. If supplied, `duration` must equal the shot total and remain within `3`-`15` seconds. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt` is optional and supports up to **2,500 characters**. Blank optional prompts are treated as omitted. * Use either `prompt` or `multi_prompt`; do not combine them. ### Multi-Prompt * `multi_prompt` accepts **1-6 shot objects** and cannot be combined with `prompt`. * Each shot requires a nonblank `prompt` of at most **2,500 characters**. * Each shot can include an integer `duration` from **1 to 15 seconds**; the default is **5 seconds**. * The combined shot duration must not exceed **15 seconds**. See Duration Options for the top-level `duration` rules. ### Aspect Ratio * `aspect_ratio`: `16:9`, `9:16`, `1:1`. Default: `16:9`. ## Pricing With `multi_prompt`, billing uses the combined shot duration. Otherwise, it uses the requested `duration` or its default. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Kling 3.0 Turbo Standard Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v3-turbo-std-image-to-video api-manual/video-series/kwaivgi-kling-v3-turbo-std-image-to-video.json POST /api/generate/submit Bring reference images into motion with Kling 3.0 Turbo Standard, using text and shot prompts to guide a video sequence. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Bring reference images into motion with Kling 3.0 Turbo Standard, using text and shot prompts to guide a video sequence. ## Models * **kwaivgi/kling-v3-turbo-std/image-to-video** - Generate video from image input. ## Features * Animate a single reference image. * Direct one scene with `prompt`, or use `multi_prompt` for up to six shots. * The input image determines the output aspect ratio. ## Duration Options * **3-15 seconds** - Accepted range for an explicit `duration`. Without `multi_prompt`, the default is **5 seconds**. * **Multi-shot output** - Each shot accepts `1`-`15` seconds and defaults to `5`. The total must not exceed **15 seconds**. * With `multi_prompt`, omit `duration` to use the shot total, including totals of **1 or 2 seconds**. If supplied, `duration` must equal the shot total and remain within `3`-`15` seconds. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. ### Prompt * `prompt` is optional and supports up to **2,500 characters**. Blank optional prompts are treated as omitted. * Use either `prompt` or `multi_prompt`; do not combine them. ### Image URLs * `image_urls`: Required. Provide exactly 1 image URL. * Images must be publicly accessible and directly downloadable. ### Multi-Prompt * `multi_prompt` accepts **1-6 shot objects** and cannot be combined with `prompt`. * Each shot requires a nonblank `prompt` of at most **2,500 characters**. * Each shot can include an integer `duration` from **1 to 15 seconds**; the default is **5 seconds**. * The combined shot duration must not exceed **15 seconds**. See Duration Options for the top-level `duration` rules. ### Aspect Ratio * The output aspect ratio follows the input image. * `aspect_ratio` is ignored by this endpoint and can be omitted. ## Pricing With `multi_prompt`, billing uses the combined shot duration. Otherwise, it uses the requested `duration` or its default. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Kling 3.0 Turbo Standard Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v3-turbo-std-text-to-video api-manual/video-series/kwaivgi-kling-v3-turbo-std-text-to-video.json POST /api/generate/submit Build video scenes with Kling 3.0 Turbo Standard, using text and individual shot prompts to direct action and composition. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Build video scenes with Kling 3.0 Turbo Standard, using text and individual shot prompts to direct action and composition. ## Models * **kwaivgi/kling-v3-turbo-std/text-to-video** - Generate video scenes from text prompts. ## Features * Generate video scenes from text prompts. * Direct one scene with `prompt`, or use `multi_prompt` for up to six shots. ## Duration Options * **3-15 seconds** - Accepted range for an explicit `duration`. Without `multi_prompt`, the default is **5 seconds**. * **Multi-shot output** - Each shot accepts `1`-`15` seconds and defaults to `5`. The total must not exceed **15 seconds**. * With `multi_prompt`, omit `duration` to use the shot total, including totals of **1 or 2 seconds**. If supplied, `duration` must equal the shot total and remain within `3`-`15` seconds. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place the parameters below inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. ### Prompt * `prompt` is optional and supports up to **2,500 characters**. Blank optional prompts are treated as omitted. * Use either `prompt` or `multi_prompt`; do not combine them. ### Multi-Prompt * `multi_prompt` accepts **1-6 shot objects** and cannot be combined with `prompt`. * Each shot requires a nonblank `prompt` of at most **2,500 characters**. * Each shot can include an integer `duration` from **1 to 15 seconds**; the default is **5 seconds**. * The combined shot duration must not exceed **15 seconds**. See Duration Options for the top-level `duration` rules. ### Aspect Ratio * `aspect_ratio`: `16:9`, `9:16`, `1:1`. Default: `16:9`. ## Pricing With `multi_prompt`, billing uses the combined shot duration. Otherwise, it uses the requested `duration` or its default. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Kling 4.0 Image to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v4-0-image-to-video api-manual/video-series/kwaivgi-kling-v4-0-image-to-video.json POST /api/generate/submit The Kling 4.0 Image to Video API animates a start frame, optionally ending on a second image, into a 3–30 second 720p or 1080p video. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Kling 4.0 Image to Video animates a start frame into a 3–30 second video at 720p or 1080p. Add a second image and Kling 4.0 uses it as the end frame, generating the motion between the two. It suits product shots, character animation and before/after transitions. Kling 4.0 is Kuaishou's Kling AI video model. Vidgo exposes it as four model IDs: [Text to Video](/api-manual/video-series/kwaivgi-kling-v4-0-text-to-video), [Image to Video](/api-manual/video-series/kwaivgi-kling-v4-0-image-to-video), [Reference to Video](/api-manual/video-series/kwaivgi-kling-v4-0-reference-to-video) and [Video Edit](/api-manual/video-series/kwaivgi-kling-v4-0-video-edit). ## Models * **kwaivgi/kling-v4.0/image-to-video** — Image-to-video with Kling 4.0 from a start frame and an optional end frame. ## Features * Image-to-video up to 30 seconds from one start frame. * First and last frame control with a second image. * Single or multi-shot prompts. * 720p or 1080p output; the frame shape follows the input image. * Output includes an audio track. ## Input modes * **Start frame**: `image_urls` with one image. * **Start and end frame**: `image_urls` with two images, start frame first. Either mode takes a single `prompt` or a `multi_prompt` shot list: * **Single prompt**: send `prompt` and, optionally, `duration`. * **Multi-shot**: send `multi_prompt` with one entry per shot. The clip length is the sum of the shot durations; leave `duration` out or set it to that sum. ## Required parameters * `image_urls` (string\[]): One or two public HTTP(S) image URLs. The first is the start frame; the optional second is the end frame. * `prompt` (string) **or** `multi_prompt` (object\[]): send exactly one. * `prompt`: 1–26,000 characters after trimming. * `multi_prompt`: a non-empty list of shots `{prompt, duration?}`. Each shot `prompt` is 1–512 characters; each shot `duration` is an integer `1`–`30` (default `5`). The shot durations must total 3–30 seconds. ## Optional parameters * `duration` (integer): Output length, `3`–`30` seconds. Default `5`; with `multi_prompt` the default is the shot total, and an explicit value must equal it. * `resolution` (string): `720p` or `1080p`. Default `720p`. ## Output The finished task returns one MP4 video, with an audio track, in the `files` array of [Query Task Status](/api-manual/task-management/status) and the callback payload. ## Examples * **Start frame only**: one image of a dancer with a motion and music prompt, 5 seconds at 720p. * **Start and end frame, 1080p, with callback**: a bud and an open flower as start and end frames, an 8-second time-lapse and a `callback_url`. ## Notes * `aspect_ratio` is not supported on this ID because the input image sets the frame; sending it returns 400. * To guide the video with extra reference images, reference videos or subjects, use [Kling 4.0 Reference to Video](/api-manual/video-series/kwaivgi-kling-v4-0-reference-to-video). * Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * Credits are reserved at submission and depend on `resolution` and the output `duration`. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. * Output is 720p or 1080p only; there is no 4K or HDR tier, no audio on/off switch and no `seed` on this model. # Kling 4.0 Reference to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v4-0-reference-to-video api-manual/video-series/kwaivgi-kling-v4-0-reference-to-video.json POST /api/generate/submit The Kling 4.0 Reference to Video API guides 3–30 second videos with up to 10 reference images, 5 reference videos and 7 elements, cited as @Image1 or @Element1. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Kling 4.0 Reference to Video generates a 3–30 second video guided by reference images, reference videos and reusable subjects (elements), so characters, products and settings stay consistent. Cite each reference in the prompt by its position, such as `@Image1`, `@Video1` or `@Element1`. Kling 4.0 is Kuaishou's Kling AI video model. Vidgo exposes it as four model IDs: [Text to Video](/api-manual/video-series/kwaivgi-kling-v4-0-text-to-video), [Image to Video](/api-manual/video-series/kwaivgi-kling-v4-0-image-to-video), [Reference to Video](/api-manual/video-series/kwaivgi-kling-v4-0-reference-to-video) and [Video Edit](/api-manual/video-series/kwaivgi-kling-v4-0-video-edit). ## Models * **kwaivgi/kling-v4.0/reference-to-video** — Reference-to-video with Kling 4.0 from images, videos and elements, 3–30 seconds, 720p or 1080p. ## Features * Up to 10 reference images, 5 reference videos and 7 elements, 15 assets in total. * Elements built from 2–4 images or one video of the same subject. * Optional start frame via `image_urls`. * Single or multi-shot prompts; 3–30 seconds at 720p or 1080p. * Five aspect ratios: `auto`, `16:9`, `9:16`, `1:1`, `21:9`. ## Input modes Send at least one reference input; you can combine them: * **Reference images** (`reference_image_urls`): cite as `@Image1`, `@Image2`, …. * **Reference videos** (`reference_video_urls`): cite as `@Video1`, `@Video2`, …. Billed as input video. * **Elements** (`kling_elements`): cite as `@Element1`, `@Element2`, …. Video-based elements are billed as input video. Add `image_urls` with one image to fix the opening frame. Then choose a single `prompt` or a `multi_prompt` shot list: * **Single prompt**: send `prompt` and, optionally, `duration`. * **Multi-shot**: send `multi_prompt` with one entry per shot. The clip length is the sum of the shot durations; leave `duration` out or set it to that sum. ## Required parameters * At least one of `reference_image_urls`, `reference_video_urls` or `kling_elements`. * `prompt` (string) **or** `multi_prompt` (object\[]): send exactly one. * `prompt`: 1–26,000 characters after trimming. * `multi_prompt`: a non-empty list of shots `{prompt, duration?}`. Each shot `prompt` is 1–512 characters; each shot `duration` is an integer `1`–`30` (default `5`). The shot durations must total 3–30 seconds. ## Optional parameters * `reference_image_urls` (string\[]): Up to 10 public HTTP(S) image URLs. * `reference_video_urls` (string\[]): Up to 5 public HTTP(S) video URLs, each 3–30 seconds. * `kling_elements` (object\[]): Up to 7 elements, at most 3 video-based. Each element has exactly one of: * `element_input_urls` (string\[]): 2–4 image URLs of the subject. * `element_input_video_urls` (string\[]): exactly 1 video URL of the subject (3–30 seconds). * `image_urls` (string\[]): One start-frame image URL. * `duration` (integer): Output length, `3`–`30` seconds. Default `5`; with `multi_prompt` the default is the shot total, and an explicit value must equal it. * `resolution` (string): `720p` or `1080p`. Default `720p`. * `aspect_ratio` (string): `auto`, `16:9`, `9:16`, `1:1` or `21:9`. Default `auto`. ## Output The finished task returns one MP4 video, with an audio track, in the `files` array of [Query Task Status](/api-manual/task-management/status) and the callback payload. ## Examples * **Reference images**: a character and a cafe image, cited as `@Image1` and `@Image2`, 8 seconds at 720p. * **Elements plus a reference video, with callback**: one robot element from two images and a dance clip cited as `@Video1`, 10 seconds at 1080p, `9:16`. ## Notes * Limits: start frame plus reference images ≤ 10; all assets (start frame, reference images, reference videos, elements) ≤ 15; video-based elements ≤ 3. * Input videos are downloaded and measured server-side (up to 100 MB each). Each must run 3–30 seconds, and all input videos together must not exceed 30 seconds. * `voice_id` and other extra fields inside an element return 400. * Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * Credits are reserved at submission and depend on `resolution` and duration. When an input video is present, a separate input-video rate applies to billed seconds = output duration + the larger of the output duration and the total input video length (summed, then rounded up to whole seconds). A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. Requests with reference images or image elements only use the standard rate on the output duration. * Output is 720p or 1080p only; there is no 4K or HDR tier, no audio on/off switch and no `seed` on this model. # Kling 4.0 Text to Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v4-0-text-to-video api-manual/video-series/kwaivgi-kling-v4-0-text-to-video.json POST /api/generate/submit The Kling 4.0 Text to Video API generates 3–30 second videos from a prompt or multi-shot prompts at 720p or 1080p, with stereo audio and five aspect ratios. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Kling 4.0 Text to Video generates a 3–30 second video from a single prompt or from a multi-shot script, at 720p or 1080p, with an audio track in the output. Use it for single-take ads, short-drama scenes and social clips when you have no source image. Kling 4.0 is Kuaishou's Kling AI video model. Vidgo exposes it as four model IDs: [Text to Video](/api-manual/video-series/kwaivgi-kling-v4-0-text-to-video), [Image to Video](/api-manual/video-series/kwaivgi-kling-v4-0-image-to-video), [Reference to Video](/api-manual/video-series/kwaivgi-kling-v4-0-reference-to-video) and [Video Edit](/api-manual/video-series/kwaivgi-kling-v4-0-video-edit). ## Models * **kwaivgi/kling-v4.0/text-to-video** — Text-to-video with Kling 4.0, 3–30 seconds, single or multi-shot prompts, 720p or 1080p. ## Features * Text-to-video up to 30 seconds in one pass. * Multi-shot prompts with per-shot durations via `multi_prompt`. * 720p or 1080p output. * Five aspect ratios: `auto`, `16:9`, `9:16`, `1:1`, `21:9`. * Output includes an audio track; describe dialogue, sound effects or ambience in the prompt. ## Input modes * **Single prompt**: send `prompt` and, optionally, `duration`. * **Multi-shot**: send `multi_prompt` with one entry per shot. The clip length is the sum of the shot durations; leave `duration` out or set it to that sum. ## Required parameters * `prompt` (string) **or** `multi_prompt` (object\[]): send exactly one. * `prompt`: 1–26,000 characters after trimming. * `multi_prompt`: a non-empty list of shots `{prompt, duration?}`. Each shot `prompt` is 1–512 characters; each shot `duration` is an integer `1`–`30` (default `5`). The shot durations must total 3–30 seconds. ## Optional parameters * `duration` (integer): Output length, `3`–`30` seconds. Default `5`; with `multi_prompt` the default is the shot total, and an explicit value must equal it. * `resolution` (string): `720p` or `1080p`. Default `720p`. * `aspect_ratio` (string): `auto`, `16:9`, `9:16`, `1:1` or `21:9`. Default `auto`. ## Output The finished task returns one MP4 video, with an audio track, in the `files` array of [Query Task Status](/api-manual/task-management/status) and the callback payload. ## Examples * **Single prompt, 10 seconds**: one `prompt` with scene, camera and sound cues, `16:9`, 720p. * **Three-shot 1080p sequence with callback**: `multi_prompt` with shots of 4, 6 and 5 seconds (15 seconds in total), `9:16`, and a `callback_url`. ## Notes * Sending both `prompt` and `multi_prompt`, or neither, returns 400. With `multi_prompt`, a `duration` that differs from the shot total returns 400. * This ID accepts text only. To start from an image, use [Kling 4.0 Image to Video](/api-manual/video-series/kwaivgi-kling-v4-0-image-to-video); to guide the video with images, videos or subjects, use [Kling 4.0 Reference to Video](/api-manual/video-series/kwaivgi-kling-v4-0-reference-to-video). * Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * Credits are reserved at submission and depend on `resolution` and the output `duration`. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. * Output is 720p or 1080p only; there is no 4K or HDR tier, no audio on/off switch and no `seed` on this model. # Kling 4.0 Video Edit Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-v4-0-video-edit api-manual/video-series/kwaivgi-kling-v4-0-video-edit.json POST /api/generate/submit The Kling 4.0 Video Edit API edits a 3–30 second source video from a text instruction, with optional reference images and subjects, at 720p or 1080p. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Kling 4.0 Video Edit changes an existing 3–30 second video from a text instruction: restyle the scene, swap objects or backgrounds, or adjust the action, while keeping the source motion. Reference images and image-based subjects can show exactly what to insert. Kling 4.0 is Kuaishou's Kling AI video model. Vidgo exposes it as four model IDs: [Text to Video](/api-manual/video-series/kwaivgi-kling-v4-0-text-to-video), [Image to Video](/api-manual/video-series/kwaivgi-kling-v4-0-image-to-video), [Reference to Video](/api-manual/video-series/kwaivgi-kling-v4-0-reference-to-video) and [Video Edit](/api-manual/video-series/kwaivgi-kling-v4-0-video-edit). ## Models * **kwaivgi/kling-v4.0/video-edit** — Video edit with Kling 4.0: text-guided editing of a 3–30 second source video, 720p or 1080p. ## Features * Text-guided video edit of a 3–30 second source clip. * Optional reference images (`@Image1`, …) and image-based elements (`@Element1`, …). * Output length matches the source by default, or set `duration`. * 720p or 1080p output. ## Required parameters * `video_url` (string): Public HTTP(S) URL of the source video, 3–30 seconds, up to 100 MB. * `prompt` (string): The edit instruction, 1–26,000 characters after trimming. ## Optional parameters * `duration` (integer): Output length, `3`–`30` seconds. No default: if omitted, the output matches the source. * `resolution` (string): `720p` or `1080p`. Default `720p`. * `reference_image_urls` (string\[]): Up to 10 public HTTP(S) image URLs. * `kling_elements` (object\[]): Up to 7 image-based elements, each `{element_input_urls}` with 2–4 image URLs. Video elements are not supported here. ## Output The finished task returns one MP4 video, with an audio track, in the `files` array of [Query Task Status](/api-manual/task-management/status) and the callback payload. ## Examples * **Restyle, keep source length**: a winter makeover of a street clip without `duration`, so the output follows the source. * **Replace an object with a reference image, with callback**: swap a phone for the product in `@Image1`, 10 seconds at 1080p, with a `callback_url`. ## Notes * `multi_prompt`, `image_urls`, `reference_video_urls`, `aspect_ratio` and video-based elements are not supported on this ID and return 400. * The source video is downloaded and measured server-side; it must run 3–30 seconds and be at most 100 MB. * Fields not listed above return 400. `model` and `callback_url` belong at the request root, not inside `input`. * Credits are reserved at submission and depend on `resolution` and duration. When an input video is present, a separate input-video rate applies to billed seconds = output duration + the larger of the output duration and the total input video length (summed, then rounded up to whole seconds). A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates. Without `duration`, the output duration is billed as the source length rounded up. * Output is 720p or 1080p only; there is no 4K or HDR tier, no audio on/off switch and no `seed` on this model. # Kling Avatar 2.0 Pro Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-video-ai-avatar-v2-pro api-manual/video-series/kwaivgi-kling-video-ai-avatar-v2-pro.json POST /api/generate/submit Create a speaking avatar with Kling Avatar 2.0 Pro, combining a character image and an audio performance with optional text direction. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create a speaking avatar with Kling Avatar 2.0 Pro, combining a character image and an audio performance with optional text direction. ## Models * **kwaivgi/kling-video/ai-avatar/v2/pro** - Animate a character image with driving audio. ## Features * Animate a character image with driving audio. * Accepts exactly 1 image in `image_urls`. ## Duration Options * **Driving audio: 2-60 seconds** - The service detects the duration of `audio_url`. * The audio must be publicly reachable over HTTP(S) and no larger than **5 MiB**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. Image inputs also accept image Data URIs or raw Base64. Image conversion and media validation complete before credits are deducted. ### Image URLs * `image_urls`: Required. Supply exactly 1 item. Each item may be a public HTTP(S) URL, image Data URI, or raw Base64. Image order is preserved. ### Audio URL * `audio_url`: Required. Provide the input audio URL. Use a publicly accessible HTTP(S) URL. ### Prompt * `prompt`: Optional. Describe the scene and desired motion. Maximum **2500 characters** after trimming. * Leading and trailing whitespace is trimmed. Omitted, null, empty, and whitespace-only values are treated as omitted. ## Pricing Usage is based on the detected driving-audio duration, rounded up to a whole second. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Kling Avatar 2.0 Standard Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-video-ai-avatar-v2-standard api-manual/video-series/kwaivgi-kling-video-ai-avatar-v2-standard.json POST /api/generate/submit Create a speaking avatar with Kling Avatar 2.0 Standard, combining a character image and an audio performance with optional text direction. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. Create a speaking avatar with Kling Avatar 2.0 Standard, combining a character image and an audio performance with optional text direction. ## Models * **kwaivgi/kling-video/ai-avatar/v2/standard** - Animate a character image with driving audio. ## Features * Animate a character image with driving audio. * Accepts exactly 1 image in `image_urls`. ## Duration Options * **Driving audio: 2-60 seconds** - The service detects the duration of `audio_url`. * The audio must be publicly reachable over HTTP(S) and no larger than **5 MiB**. ## Advanced Parameters Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`. Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials. Image inputs also accept image Data URIs or raw Base64. Image conversion and media validation complete before credits are deducted. ### Image URLs * `image_urls`: Required. Supply exactly 1 item. Each item may be a public HTTP(S) URL, image Data URI, or raw Base64. Image order is preserved. ### Audio URL * `audio_url`: Required. Provide the input audio URL. Use a publicly accessible HTTP(S) URL. ### Prompt * `prompt`: Optional. Describe the scene and desired motion. Maximum **2500 characters** after trimming. * Leading and trailing whitespace is trimmed. Omitted, null, empty, and whitespace-only values are treated as omitted. ## Pricing Usage is based on the detected driving-audio duration, rounded up to a whole second. Check the Vidgo dashboard for the current rate. Credits are deducted on submission and refunded if the task fails. # Kling O3 4K Image To Video Source: https://docs.vidgo.ai/api-manual/video-series/kwaivgi-kling-video-o3-4k-image-to-video api-manual/video-series/kwaivgi-kling-video-o3-4k-image-to-video.json POST /api/generate/submit Generate 3–15-second videos with Kling O3 4K from a starting image and an optional ending frame. Outputs 4K video. Supports single-shot and multi-shot generation. Explicitly set sound; multi-shot requires audio. > [!TIP] > > 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`. > 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](/api-manual/task-management/status) endpoint. ## Parameters Use model `kwaivgi/kling-video-o3-4k/image-to-video`. Put generation parameters inside `input`. * **`image_urls`**: Required: an array of 1–2 images. The first is the starting frame; the optional second is the ending frame. Accepts public HTTP(S) URLs, image Data URIs or raw Base64 image data. * **`prompt`**: Required when multi\_shots=false. Describe the scene, action and camera movement. Use nonblank text, up to 2,500 characters after trimming. Omit prompt when multi\_shots=true. * **`multi_prompt`**: Required when multi\_shots=true; omit in single-shot mode. Supply at least one shot, each with a nonblank prompt of up to 2,500 characters and an integer duration of 1–12 seconds. Shot durations must sum to the top-level duration (3–15 seconds). Extra fields inside a shot are ignored. * **`duration`**: Required integer from 3 to 15 seconds. In multi-shot mode, this must equal the sum of all shot durations. Credits are calculated using this value. * **`multi_shots`**: Required: explicitly send false for a single shot or true for multiple shots. Single-shot mode requires prompt. Multi-shot mode requires multi\_prompt and sound=true, with no nonblank top-level prompt. Omitting this field is an error. * **`sound`**: Required: explicitly send true to generate audio or false for video without audio. Single-shot mode accepts either value; multi-shot mode requires true. * **`aspect_ratio`**: May be omitted. If provided, use 16:9, 9:16 or 1:1. Image-to-video ignores this value; framing is determined by the input image. Use standard JSON numbers and booleans. For compatibility, integer strings such as "5" are accepted. Boolean strings true/1/yes/y/on mean true; false/0/no/n/off mean false. These strings are case-insensitive and trimmed. Numeric 1 and 0 are also accepted for boolean fields. Numeric and boolean prompt values are converted to text; 0, false and null are treated as empty. Objects and arrays are not accepted as prompts. Unsupported input fields are rejected. HTTP(S) URLs must have a hostname and no embedded credentials. ## Billing Factors Billed per generated second using the 4K model tier. Video duration (`duration`) determines usage; enabling or disabling audio (`sound`) does not change the rate. Failed generation tasks are refunded. ## Default example: The Greenhouse Trap This is the same default example shown on the [model page](https://vidgo.ai/apis/models/kwaivgi/kling-video-o3-4k/image-to-video). ```json theme={null} { "model": "kwaivgi/kling-video-o3-4k/image-to-video", "input": { "duration": 4, "sound": true, "multi_shots": false, "prompt": "Begin with the supplied botanical macro. The foreground Venus flytrap slowly closes its two lobes around their central hinge, ending with marginal cilia interlaced. Preserve its vein pattern, dew beads, surrounding leaves and blurred greenhouse glazing. Droplet highlights shift naturally. Fixed macro camera, realistic plant motion; no insect, animal features or new leaves. Audio: quiet greenhouse ambience and one distant drip; no music. No text, logos or watermarks.", "image_urls": [ "https://cdn.vidgo.ai/apis/models/kwaivgi/kling-video-o3-4k/image-to-video/v1/01/input-start.png" ] } } ``` ![Starting frame](https://cdn.vidgo.ai/apis/models/kwaivgi/kling-video-o3-4k/image-to-video/v1/01/input-start.png)