# Vidu Q2 | Text to Image Vidu Text-to-Image transforms your prompts into high-quality, visually rich images with accurate detail, style control, and creative flexibility. ## API Information - **Model Slug:** vidu-q2-text-to-image - **Branded URL:** https://www.eachlabs.ai/vidu/vidu-q2/vidu-q2-text-to-image - **Provider:** Vidu - **Category:** Text to Image - **Output Type:** image - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Fixed pricing: $0.1 per request - **Estimated Processing Time:** 0 seconds - **Last Updated:** 2026-04-17 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/vidu-q2-text-to-image ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.1000 - **Pricing Details:** Fixed pricing: $0.1 per request ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Fixed pricing: $0.1 per request | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text prompt for video generation, max 1500 characters | | aspect_ratio | string | No | 16:9 | 16:9,9:16,1:1 | The aspect ratio of the output video | | seed | integer | No | - | - | Random seed for generation | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "vidu-q2-text-to-image", "input": { "prompt": "A cozy Christmas scene with warm lights, a decorated tree, soft bokeh, and a peaceful holiday atmosphere, with a white cat resting nearby." } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated image)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "Authorization: Bearer YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **vidu-q2-text-to-image — Text to Image AI Model** Developed by Vidu as part of the **vidu-q2** family, **vidu-q2-text-to-image** transforms text prompts into high-quality, visually rich images with precise detail adherence and style control. This **text-to-image AI model** stands out in the competitive landscape by leveraging Vidu's advanced diffusion transformer architecture, delivering superior instruction following and visual quality scores that rival top models in benchmarks. Ideal for creators and developers seeking a **Vidu text-to-image** solution, it supports flexible aspect ratios and high-resolution outputs, enabling creative flexibility without compromising accuracy. Whether you're building apps with **text-to-image AI model** integration or generating custom visuals, **vidu-q2-text-to-image** processes prompts efficiently, producing images that capture nuanced descriptions with high fidelity. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.