Files

Disable public preview

Disable public preview for a file. Removes the permanent public URL copy and revokes unauthenticated embed streaming access. Authenticated signed URLs remain functional. Returns the updated file.

post/v1/files/{fileId}/disable-public-preview

Path parameters

fileIdstring required

The file id (e.g. vg_file_...).

Response

File with public preview disabled

fileIdstring required

File id (e.g. vg_file_...).

type'IMAGE' | 'VIDEO' | 'AUDIO' | 'PDF' | 'SLIDESHOW' | 'TEXT' | 'LOTTIE'

File type. TEXT covers plain-text and editor-interchange documents; LOTTIE is a JSON animation.

scope'GLOBAL' | 'PROJECT' | 'EXPORT' | 'TEMPORARY' | 'ENTITY' required

File scope.

  • GLOBAL: user-uploaded or standalone generated files that persist indefinitely.
  • PROJECT: project-specific files (e.g. text-to-speech clips in a generated project).
  • EXPORT: project exports.
  • TEMPORARY: short-lived files guaranteed to be available for 24 hours, after which they may be archived at any time. Not analyzed (no description, transcript, or embedding).
  • ENTITY: files attached to a reusable entity (e.g. a voice sample for an actor), shared across your team.
displayNamestring

Display name for the file.

descriptionstring nullable
durationSecondsnumber nullable

Duration in seconds for video and audio files. Null for images.

transcriptTextstring nullable

Plain transcript text for video and audio files, when available. Null for images or when no transcript has been generated.

downloadUrlstring uri nullable

Private signed URL for the highest-quality downloadable rendition, provided at the top level for convenience. Valid for 7 days from when it was signed. null when the rendition is still processing or the URL has not been signed yet. See downloadUrlExpiresAt for the exact expiry and downloadSource for the full rendition metadata; call POST /v1/files/{fileId}/hydrate to refresh it.

downloadUrlExpiresAtinteger nullable

Seconds since epoch (Unix timestamp) when downloadUrl expires. null when downloadUrl is null.

thumbnailUrlstring uri nullable

Private signed URL for the thumbnail rendition, provided at the top level for convenience. Valid for 7 days from when it was signed. null for file types that have no thumbnail (e.g. audio) or when it has not been signed yet. See thumbnailSource for the full rendition metadata.

thumbnailUrlExpiresAtinteger nullable

Seconds since epoch (Unix timestamp) when thumbnailUrl expires. null when thumbnailUrl is null.

isPublicPreviewEnabledboolean

Whether public preview is enabled for this file. When true, staticPublicPreviewSource is populated for all file types. For video and audio, publicHlsUrl and publicPlaybackId are also populated once embed streaming is ready.

publicHlsUrlstring nullable

Public HLS streaming URL for video and audio. Only present when isPublicPreviewEnabled is true and embed streaming is ready. Prefer publicPlaybackId with @videogen/player for embeds.

publicPlaybackIdstring nullable

Encoded public playback id (e.g. vg_play_...) for video and audio embeds. Pass this to @videogen/player or @videogen/player-react. Only present when isPublicPreviewEnabled is true and embed streaming is ready. For a permanent direct file URL (any type), use staticPublicPreviewSource instead.

sourceToolTypestring

Tool type that generated this file (e.g. GENERATE_IMAGE, TEXT_TO_SPEECH). Only present when the file was created by a tool execution.

sourceToolExecutionIdstring

Execution id of the tool call that generated this file (e.g. vg_tool_...). Only present when the file was created by a tool execution.

Changes

No recorded changes to this endpoint across all 1 revision of this API.