Search VisionStory documentation

No documentation matched “”.

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

VisionStoryDevelopers
Get API key

List assets

GET/api/v1/assets

List your uploaded assets, newest first. Pass the previous page's next_cursor to paginate (next_cursor=0 means no more pages); optionally filter by kind (image / video / audio).

Headers

X-API-Keystringrequired

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

Query parameters

kindstring | null

Filter by media kind. Omit to return assets of all kinds.

Values: imagevideoaudio

cursorinteger

Pagination cursor from the previous page's next_cursor. Omit or pass 0 to start from the newest asset.

Default: 0

limitinteger

Maximum assets to return per page. Range 1–100; defaults to 20.

Default: 20

Responses

200Successful Response

application/json

dataGetAssetsResponse | nullrequirednullable

The endpoint payload. Its shape is specific to each endpoint (see that endpoint's response schema); null for operations that return no body, such as delete.

assetsAssetDto[]required

Uploaded assets for this account, newest first.

asset_idstringrequired

Unique identifier of the asset; reference it as asset_id in generation requests.

created_atinteger

Unix timestamp (seconds) when the asset was uploaded.

Default: 0

duration_secnumber

Duration in seconds for video/audio assets; 0 for images.

Default: 0

heightinteger

Pixel height for image/video assets; 0 when not applicable.

Default: 0

kindstringrequired

Detected media kind: one of image / video / audio.

mimestring

Detected MIME type of the asset, e.g. image/png.

Default:

widthinteger

Pixel width for image/video assets; 0 when not applicable.

Default: 0

next_cursorinteger

Cursor to fetch the next page; pass it back as cursor. 0 means no more pages.

Default: 0

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.