Search VisionStory documentation

No documentation matched “”.

Try a feature or resource name such as , , or .

VisionStoryDevelopers

List AI video models

GET/api/v1/ai_video/models
AI Video

List available AI video models with the allowed values and defaults for every parameter, plus media constraints for first_frame and multimodal refs. Pricing is not included — use GET /api/v1/ai_video/cost for authoritative cost estimation.

Beta: available to any account with an active paid subscription; standard per-key rate limits apply.

Headers

X-API-Keystringrequired

Your VisionStory API key (sk-vs-...), kept server-side. Create or manage keys in API keys (Pro plan and up).

Responses

200Successful Response

application/json

dataGetAiVideoModelsResponse | nullrequirednullable

The endpoint-specific payload. See this endpoint's response schema for its fields; null only when the operation returns no payload.

modelsAiVideoModelDto[]required

Machine-readable model capabilities: allowed values and defaults per parameter, plus media constraints. Pricing is not included (use GET /api/v1/ai_video/cost).

capabilitiesstring[]required

Supported generation modes, such as text_to_video and image_to_video.

descriptionstringrequired

Public model summary.

model_idstringrequired

Public model ID to send in AI video requests.

paramsAiVideoModelParamsrequired
aspect_ratioStringChoicesrequired
defaultstring | nullrequirednullable

Value used when the request omits this parameter.

valuesstring[]required

Currently accepted values for this model.

duration_secDurationChoicesrequired
defaultinteger | nullrequirednullable

Clip duration used when omitted.

valuesinteger[]required

Accepted integer clip durations in seconds.

first_frameMediaConstraints | nullrequirednullable

First-frame image constraints; null when image-to-video is unsupported.

aspect_ratio_range[number | integer | null, number | integer | null] | nullnullable

Minimum and maximum width/height ratio.

dimension_px[integer | null, integer | null] | nullnullable

Minimum and maximum pixel length per side.

duration_sec_range[number | integer | null, number | integer | null] | nullnullable

Minimum and maximum single-reference duration in seconds.

formatsstring[] | nullnullable

Accepted file extensions for this media slot.

fps_range[number | integer | null, number | integer | null] | nullnullable

Minimum and maximum frame rate; a null upper bound means no upper limit.

max_mbinteger | nullnullable

Maximum media file size in MiB, including gateway limits.

generate_audioAudioCapabilityrequired
defaultbooleanrequired

Whether native audio is generated when omitted; does not change price.

promptPromptCapabilityrequired
max_lengthinteger | nullrequirednullable

Maximum prompt characters; null when unspecified.

supports_ref_syntaxboolean | nullnullable

Present when in-prompt reference syntax is supported.

refsVideoReferencesrequired
acceptstring[]required

Accepted media kinds: image, video, or audio.

audioMediaConstraintsrequired
aspect_ratio_range[number | integer | null, number | integer | null] | nullnullable

Minimum and maximum width/height ratio.

dimension_px[integer | null, integer | null] | nullnullable

Minimum and maximum pixel length per side.

duration_sec_range[number | integer | null, number | integer | null] | nullnullable

Minimum and maximum single-reference duration in seconds.

formatsstring[] | nullnullable

Accepted file extensions for this media slot.

fps_range[number | integer | null, number | integer | null] | nullnullable

Minimum and maximum frame rate; a null upper bound means no upper limit.

max_mbinteger | nullnullable

Maximum media file size in MiB, including gateway limits.

imageMediaConstraintsrequired
aspect_ratio_range[number | integer | null, number | integer | null] | nullnullable

Minimum and maximum width/height ratio.

dimension_px[integer | null, integer | null] | nullnullable

Minimum and maximum pixel length per side.

duration_sec_range[number | integer | null, number | integer | null] | nullnullable

Minimum and maximum single-reference duration in seconds.

formatsstring[] | nullnullable

Accepted file extensions for this media slot.

fps_range[number | integer | null, number | integer | null] | nullnullable

Minimum and maximum frame rate; a null upper bound means no upper limit.

max_mbinteger | nullnullable

Maximum media file size in MiB, including gateway limits.

maxintegerrequired

Maximum references across all media kinds; zero means unsupported.

max_per_kindReferenceKindLimits | nullnullable

Optional per-kind count limits, in addition to max.

audiointeger | nullnullable

Maximum number of audio references when specified.

imageinteger | nullnullable

Maximum number of image references when specified.

videointeger | nullnullable

Maximum number of video references when specified.

total_duration_sec_maxReferenceDurationLimits | nullnullable

Optional aggregate duration limits, by media kind.

audionumber | integer | nullnullable

Maximum total audio-reference duration in seconds.

videonumber | integer | nullnullable

Maximum total video-reference duration in seconds.

videoMediaConstraintsrequired
aspect_ratio_range[number | integer | null, number | integer | null] | nullnullable

Minimum and maximum width/height ratio.

dimension_px[integer | null, integer | null] | nullnullable

Minimum and maximum pixel length per side.

duration_sec_range[number | integer | null, number | integer | null] | nullnullable

Minimum and maximum single-reference duration in seconds.

formatsstring[] | nullnullable

Accepted file extensions for this media slot.

fps_range[number | integer | null, number | integer | null] | nullnullable

Minimum and maximum frame rate; a null upper bound means no upper limit.

max_mbinteger | nullnullable

Maximum media file size in MiB, including gateway limits.

resolutionStringChoicesrequired
defaultstring | nullrequirednullable

Value used when the request omits this parameter.

valuesstring[]required

Currently accepted values for this model.

messagestring

Human-readable status message; "success" on a successful call.

Default: success

server_timestring · date-timerequired

Server-side timestamp when the response was produced, in ISO 8601 format (UTC).

defaultError response. All failures share one envelope: an error object with a numeric code, a human-readable message, an optional details string, and an optional hint giving an actionable next step (useful for AI agents).

application/json

errorErrorDetailrequired
codeintegerrequired

Machine-readable error code. Mirrors the HTTP status for transport-level failures (e.g. 401, 404, 422, 500) and may carry a business-specific code otherwise.

detailsstring | nullnullable

Optional structured detail about the failure, e.g. a JSON string of per-field validation errors on a 422. Absent when there is nothing extra to report.

hintstring | nullnullable

Actionable next step for resolving the error, written for both humans and AI agents (e.g. how to fix the request, or where to obtain an API key). May be absent.

messagestringrequired

Human-readable explanation of what went wrong. Safe to log or surface to end users; not localized.