Veo 3.1 Lite
veo-3.1-lite/text-to-video
Google's low-cost, high-throughput video generation tier, with speed on par with Veo 3.1 Fast, supporting image-to-video, multiple aspect ratios, and durations
Try veo-3.1-lite/text-to-video
Input
Showcases
View all showcasesOutput
videoPricing
veo-3.1-lite/text-to-video per second
Overview
veo-3.1-lite/text-to-video is the text-to-video route in the Google Veo 3.1 Lite family, aimed at developers who need to produce short videos in bulk. Input a natural-language prompt and it generates a video clip with native audio, supporting 720p/1080p, 16:9 and 9:16 aspect ratios, and 4/6/8-second durations, with result control via parameters such as seed and negative_prompt. It suits engineering scenarios sensitive to cost and iteration speed, such as marketing clips, social media content, and in-product video generation, and is called through the unified HiAPI.ai interface.
Key Highlights
- Native audio generation — audio is produced alongside the visuals and is enabled by default; it can be turned off as needed to fit silent editing workflows.
- Both landscape and portrait aspect ratios — built-in 16:9 and 9:16 ratios mean a single integration covers both landscape and portrait content distribution.
- Selectable duration and resolution — three duration options (4, 6, and 8 seconds) combined with 720p/1080p resolution make it easy to trade off output quality against cost per scenario.
- Full set of control parameters — includes seed for reproducibility, negative_prompt to exclude unwanted content, auto_fix for prompt correction, and safety tolerance adjustments.
Capabilities
Prompt-to-video generation: describe a scene in natural language and generate the corresponding video clip; this is the fundamental input method for building automated video pipelines.
Native audio output: results come with synchronized audio, saving the later steps of dubbing and sound-effect assembly; when disabled, the output is silent footage.
Multi-spec output: combine the resolution, aspect_ratio, and duration parameters to produce the required specification, and the output can go directly into editing or delivery workflows.
Controllable and reproducible results: a fixed seed reproduces the same generation result, negative_prompt avoids unwanted elements, and auto_fix automatically rewrites the prompt when validation fails to reduce call failure rates.
Use Cases
- Bulk ad clip production for marketing teams — input campaign themes and selling-point descriptions to batch-generate 8-second clips with audio, for ad creative testing and rapid A/B iteration.
- Vertical video for social media content creators — generate short video clips in 9:16 for content updates on short-video platforms and social feeds.
- Video capability integration for product developers — automate prompt-driven video generation within a product and offer it to end users as a feature module.
- Script previews for creative teams — quickly turn storyboard text into 4-second clips, paired with fixed seeds for reproducible options, for visual confirmation during the pitch stage.
Limitations and Selection Advice
Single generations are capped at 8 seconds and 1080p resolution, making this route unsuitable for long videos, continuous narratives, or higher-definition final cuts; for complex projects requiring precise camera movement and shot continuity, split the work into multiple generated segments and edit them together. The safety tolerance parameter limits content output for certain subject matter. If the task starts from an image, choose the image-to-video route in the same family instead of this route.
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: veo-3.1-lite/text-to-video
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for veo-3.1-lite/text-to-video and route default — see the parameter table below.
seedintegerOptionalRandom seed used to generate reproducible results; passing the same seed with the same parameters produces a consistent video output. If not provided, the server picks one at random.
promptstringRequiredminLength 1Text prompt describing the video content to be generated; this is the main input for text-to-video generation.
auto_fixbooleanOptionalDefault: trueWhether to automatically rewrite prompts that fail validation. Default is true.
durationintegerOptionalDefault: 8min 4max 8Duration of the generated video clip, in seconds. Default is 8 seconds.
468resolutionstringOptionalDefault: "720p"Resolution of the output video. Default is 720p.
720p1080paspect_ratiostringOptionalDefault: "16:9"Aspect ratio of the output video. Default is 16:9.
16:99:16generate_audiobooleanOptionalDefault: trueWhether to generate native audio. Default is true.
negative_promptstringOptionalNegative prompt specifying content that should be avoided in the generated video.
safety_tolerancestringOptionalDefault: "4"Tolerance level for content moderation. Default is "4".
123456callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3.1-lite/text-to-video",
"input": {
"prompt": "…",
"auto_fix": true,
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": "4"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "veo-3.1-lite/text-to-video",
input: {
"prompt": "…",
"auto_fix": true,
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": true,
"safety_tolerance": "4"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "veo-3.1-lite/text-to-video",
"input": {
"prompt": "…",
"auto_fix": True,
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": True,
"safety_tolerance": "4"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
Hailuo 2.3 MiniMax $0.270 /video -
Seedance 2.0 ByteDance $0.017 /second -
Vidu Q4 Preview Vidu $0.051 /second -
Seedance 2.5 ByteDance $0.121 /second -
Veo 3.1 Lite Google $0.060 /second -
Vidu Q3 Vidu $0.149 /second -
Gemini Omni Google -- -
FLUX 3 Video Black Forest Labs $0.090 /second -
HappyHorse 1.0 Alibaba $0.168 /second -
Veo 3.1 Google $0.290 /second -
HeyGen Avatar V HeyGen $0.150 /second -
MiniMax H3 MiniMax $0.072 /second
Same Provider
-
Veo 3.1 Fast Google $0.170 /second -
Nano Banana 2 Google $0.036 /image -
Lyria 3 Pro Google $0.140 /song -
Google Virtual Try-On Google $0.107 /image -
Nano Banana Google $0.021 /image -
Veo 3.1 Lite Google $0.060 /second -
Gemini 3.1 Flash TTS Google -- -
Gemini Omni 1.1 Flash Google $0.450 /video -
Veo 3.1 Google $0.290 /second -
Nano Banana 2 Lite Google $0.033 /image -
Lyria 3.5 Google $0.090 /song -
Gemini Omni Google --