Veo 3.1 Fast
veo-3.1-fast/text-to-video
The image-to-video model in the Veo 3.1 series built for fast turnaround, generating picture and audio in sync, suited to finished-content production such as marketing, presentations, and social media
Try veo-3.1-fast/text-to-video
Input
Showcases
View all showcasesOutput
videoPricing
veo-3.1-fast/text-to-video per second
Overview
The veo-3.1-fast text-to-video line is aimed at developers who need to quickly produce finished footage: enter a text prompt and generate a video clip with native audio, with support for 4 to 8 second durations, 720p to 4k resolutions, landscape and portrait aspect ratios, and the option to generate an audio track or not. It suits finished-content production such as marketing shorts, product introductions, presentation reports, and social media content, as well as teams that need to integrate video generation into their own workflows at scale.
Key Highlights
- Video and native audio generated in one pass — native audio can be produced alongside the visuals, skipping the separate voiceover and sound effect synthesis steps.
- Resolution and duration adjustable on demand — supports 720p, 1080p, and 4k resolutions and 4, 6, or 8 second durations, with 16:9 or 9:16 aspect ratios.
- A workflow built for fast output — fast generation is the main differentiator of this series, making it suitable for finished-content work with short delivery cycles.
- Full prompt control dimensions — provides positive prompts, negative prompts, and a random seed, making it easy to steer the content and reproduce results.
Capabilities
Text-to-video: enter a prompt of up to 20,000 characters to generate a video clip, ideal for driving finished footage directly from copy.
Native audio generation: native audio track generation can be toggled on or off, producing visuals and sound in a single call and reducing post-production audio work.
Resolution and aspect ratio selection: output supports 720p to 4k resolutions and offers 16:9 landscape and 9:16 portrait, making it easy to fit different placements.
Duration control: clip length can be selected between 4 and 8 seconds, billed by output duration, making it easy to split shots according to script structure.
Controllable and reproducible results: negative prompts can exclude unwanted elements, and a random seed allows reproducing the same generation result.
Use Cases
- Marketing teams producing short ad videos — generate short clips with audio tracks from product selling-point copy, for ad assets and social media ad placements.
- Corporate presentation and report intros — enter a business topic description to generate landscape clips, embedding them as opening visuals in reports or business communication materials.
- Educational courses and training materials — generate explainer clips with narration atmosphere from instructor scripts, directly usable in course video editing.
- Social media vertical content production — generate short video assets in 9:16 aspect ratio for daily updates on content accounts at scale.
Limitations and Selection Advice
This line currently supports only text-to-video and does not accept reference images as input; when image-to-video is needed, choose the image-to-video line in the same series. Clip durations are 4 to 8 seconds and do not cover long takes or full-length finished videos; long content must be generated shot by shot and then assembled. Enabling native audio or increasing resolution and duration raises the cost per call, so before batch production you should verify results with a random seed and negative prompts. For projects requiring high-precision physical simulation or complex motion simulation, this model is not specifically optimized.
Frequently asked questions
View all FAQs →-
Does Veo 3.1 Fast Image to Video require an input image?
Yes. veo-3.1-fast/image-to-video is an image-to-video route. The image establishes the subject and opening composition; the prompt directs motion, camera, and environmental change.
-
Which durations and resolutions does Veo 3.1 Fast Image to Video support?
The current HiAPI contract supports 4s / 6s / 8s at 720p or 1080p or 4k. Check the page controls and API docs for the current options.
-
How is Veo 3.1 Fast Image to Video billed?
Billing follows output duration and the selected tier. The page follows the global display unit, while the successful task record contains the final charge.
-
How can I improve subject consistency?
Use a clear, unobstructed source with a complete composition. Describe the main action and camera first, then name the appearance, material, and background relationships that must remain stable. Validate a short clip first.
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-fast/text-to-video
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for veo-3.1-fast/text-to-video and route default — see the parameter table below.
seedintegerOptionalRandom seed used for reproducible generation, as an integer; with the same seed and other parameter settings, similar generation results can be reproduced.
promptstringRequiredmaxLength 20000Text prompt describing the video content to be generated, as a string.
durationintegerRequiredDefault: 8min 4max 8Duration of the generated video clip (in seconds), as an integer, default 8; the cost increases with longer durations.
468resolutionstringRequiredDefault: "720p"Output video resolution, as a string, default 720p; the higher the resolution, the higher the cost.
720p1080p4kaspect_ratiostringOptionalDefault: "16:9"Aspect ratio of the output video, as a string, default 16:9.
16:99:16generate_audiobooleanOptionalDefault: trueWhether to generate a native audio track, as a boolean, default true; billing is higher when enabled.
negative_promptstringOptionalNegative prompt, using text to describe content that should be avoided in the generated video.
callbackobjectOptional
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-fast/text-to-video",
"input": {
"prompt": "…",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": true
}
}' 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-fast/text-to-video",
input: {
"prompt": "…",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": true
}
}),
});
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-fast/text-to-video",
"input": {
"prompt": "…",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": True
}
},
)
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
-
Kandinsky 6.0 Pro $1.93 /video -
Ray 3.2 Luma $0.214 /video -
Grok Imagine 1.5 xAI $0.011 /second -
HappyHorse 1.0 Alibaba $0.168 /second -
Grok Imagine 1.5 Lite xAI $0.029 /second -
Vidu Q4 Preview Vidu $0.051 /second -
HeyGen Avatar V HeyGen $0.150 /second -
MiniMax H3 MiniMax $0.072 /second -
Kling 2.5 Kuaishou $0.060 /second -
Gemini Omni 1.1 Flash Google $0.450 /video -
Gemini Omni Google -- -
FLUX 3 Video Black Forest Labs $0.090 /second
Same Provider
-
Veo 3.1 Google $0.290 /second -
Nano Banana 2 Google $0.036 /image -
Nano Banana Google $0.021 /image -
Gemini Omni Google -- -
Veo 3.1 Lite Google $0.060 /second -
Gemini Omni 1.1 Flash Google $0.450 /video -
Google Virtual Try-On Google $0.107 /image -
Nano Banana Pro Google $0.057 /image -
Veo 3.1 Fast Google $0.170 /second -
Lyria 3.5 Google $0.090 /song -
Lyria 3 Pro Google $0.140 /song -
Gemini 3.1 Flash TTS Google --