VisionStory Docs
llms.txt Get API key
Assets/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).

Query parameters

kindstring | nullOptional
Filter by media kind. Omit to return assets of all kinds.
Allowed values image video audio
cursorintegerOptionalDefault 0
Pagination cursor from the previous page's next_cursor. Omit or pass 0 to start from the newest asset.
limitintegerOptionalDefault 20
Maximum assets to return per page. Range 1–100; defaults to 20.

Headers

X-API-KeystringRequired
Your VisionStory API key (sk-vs-...), kept server-side. Create one at OpenApi (Pro plan and up).

Response

200Successful Response

Successful calls return a standard envelope: the endpoint payload under data (its fields are documented below), plus a message string ("success") and an ISO 8601 server_time.

Response fields (data)
assetsarray of AssetDtoRequired
Uploaded assets for this account, newest first.
Show 7 propertiesHide 7 properties
asset_idstringRequired
Unique identifier of the asset; reference it as asset_id in generation requests.
kindstringRequired
Detected media kind: one of image / video / audio.
mimestringOptionalDefault ""
Detected MIME type of the asset, e.g. image/png.
widthintegerOptionalDefault 0
Pixel width for image/video assets; 0 when not applicable.
heightintegerOptionalDefault 0
Pixel height for image/video assets; 0 when not applicable.
duration_secnumberOptionalDefault 0
Duration in seconds for video/audio assets; 0 for images.
created_atintegerOptionalDefault 0
Unix timestamp (seconds) when the asset was uploaded.
next_cursorintegerOptionalDefault 0
Cursor to fetch the next page; pass it back as cursor. 0 means no more pages.

Errors

All error responses share one JSON 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 (handy for AI agents).

errorErrorDetailRequired
Error payload returned with every non-2xx response. Present only on failure; successful calls use the standard success envelope instead.
Show 4 propertiesHide 4 properties
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.
messagestringRequired
Human-readable explanation of what went wrong. Safe to log or surface to end users; not localized.
detailsstring | nullOptional
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 | nullOptional
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.