Vidu 1.5
Vidu 1.5 creates video from a text prompt under the exact model ID vidu-1.5. Describe the subject, visible action and camera framing, then select a five-second duration and one of three aspect ratios: 16:9, 1:1 or 9:16. Submit the task once and follow its returned operation until the video result is ready.
About the model
This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.
Vidu 1.5 provides text-to-video generation through the exact model ID vidu-1.5. Build the request around a five-second visual idea: a subject performing one clear action, an establishing view, or a product shown with a defined camera movement. Put the scene, action, setting, lighting and framing into the text prompt so the intended shot is described in the material the model receives.
Create the video with POST /v1/videos and an application/json body. The required fields are model and prompt; set model to vidu-1.5 and supply the shot description as a string. A useful product-shot prompt can identify the object, surface, background and one camera movement, followed by the action that should be visible during the shot. Keep the brief focused enough to read as a single short clip.
The model’s duration option is the integer 5, representing a five-second clip. The optional aspect_ratio values are the strings 16:9, 1:1 and 9:16. Choose a ratio for the intended placement before writing the framing: a wide scene for a horizontal composition, a centred arrangement for a square, or a vertically arranged subject for a portrait composition. The optional negative_prompt string can state visual elements to avoid. Preserve the parameter names and exact enum values in the request.
Creation begins an asynchronous operation. Save the actual identifier returned by the creation response, then use GET /v1/videos/{request_id} to follow that original operation. A response showing work in progress represents the existing task; continue reading it until a completed result or a failure is returned. Preserve the returned error and original identifier when the operation fails or needs checking.
When the operation completes, retain every returned video result and fetch each actual content URL supplied by the response. The public content route GET /v1/videos/{request_id}/content can retrieve an output by its actual index. Save the finished video and its returned metadata, then inspect the subject, movement, framing and end of the clip against the prompt. If submission or delivery ends ambiguously, keep the original operation identity and check that task before creating another generation.
Ailoot Ultra · Video POST /v1/videos vidu-1.5
vidu-1.5Overview
Vidu 1.5 creates video from a text prompt under the exact model ID vidu-1.5. Describe the subject, visible action and camera framing, then select a five-second duration and one of three aspect ratios: 16:9, 1:1 or 9:16. Submit the task once and follow its returned operation until the video result is ready.
- Accepted inputs
- Text
- Results
- Video
Available in Ailoot · inputs & methods
Ailoot Ultra · Video POST /v1/videos
- Input types
text- Output types
video
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits vidu-1.5 | Default— |
Fieldprompt | Typestring | RequirementRequired | Values & limits | Default— |
Fieldaspect_ratio | Typestring | RequirementOptional | Values & limits 16:9, 1:1, 9:16 | Default— |
Fieldduration | Typeinteger | RequirementOptional | Values & limits 5 | Default— |
Fieldnegative_prompt | Typestring | RequirementOptional | Values & limits | Default— |
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, prompt |
Parameteroptional | Contractaspect_ratio, duration, negative_prompt |
Parametermaterial_types | Contracttext |
Parameterconditions | Contract |
Method aliases: /v1/videos/generations
Lifecycle: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Pricing
How the final charge is calculated
The displayed rates estimate the cost before generation. The final charge is calculated from the cost recorded for the original generation. Measured output duration and forecast quantities are not the final billable quantity.
Tariff references do not add request options. Supported parameters are listed for the selected method.
- Fast mode
- Not specified When fast mode is selected
- Flex mode
- Not specified When flex mode is selected
- Maximum reasoning effort
- Not specified When maximum reasoning effort uses the default adjustment
Estimated rates for comparison
Prices by configuration
Match each charge to the conditions shown. Use one rate for each set of alternative configurations.
| Configuration | Rate schedule | Forecast quantity | Charge |
|---|---|---|---|
| ConfigurationBase token rates | Rate scheduleBase rate | Forecast quantity— | Charge Input · Input tokens · Estimate for comparison only — / 1K tokens Output · Output tokens · Estimate for comparison only — / 1K tokens Input · Cache read · Estimate for comparison only — / 1K tokens Input · Cache write · Estimate for comparison only — / 1K tokens Input · Cache write, 1 hour · Estimate for comparison only — / 1K tokens |
| ConfigurationEstimated generation cost | Rate schedule— | Forecast quantityone generation estimate | Charge Input · Estimated generation cost · Estimate for comparison only $0.4 estimate before generation This estimate is not an additional charge or a fixed rate for the completed generation. |
Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →
Example requests
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "vidu-1.5", "prompt": "A cat is walking on grass."}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
# Submit once. Retain the complete result, original identifiers and every response header.
Receive and save results
Ailoot Ultra · Video
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Keep all completed results
Save every completed video or returned file; retrieve every actual returned asset URL.
Retain the complete response, all actual results, original identifiers, usage and response headers.
If the original response needs checking
Keep the returned public task or operation id and all headers. Read only the original task; unknown or result_pending_check does not authorize another creation.
Response fields
| Field | Type |
|---|---|
Fieldvideo_url | Typestring or array, as returned |
Aliases
Model aliases
Ailoot Ultra vidu-1.5
Method path aliases
/v1/videos/generations
Related caller IDs
FAQ · Vidu 1.5
- What inputs and results are available?
POST /v1/videos·vidu-1.5:text→video- Which fields does the request use?
POST /v1/videos·vidu-1.5:model,prompt,aspect_ratio,duration,negative_prompt