Settings

Video Output Storage under ZDR

Under Zero Data Retention (ZDR), generated videos must be stored in user-supplied storage. Until storage is configured, the video tools in Grok Build will return an error.

To set this up, configure an S3-compatible bucket and set the following in ~/.grok/managed_config.toml. Grok Build presigns an upload URL for each generation and passes it to the API, so the video lands directly in your bucket and is never stored by xAI:

TOML

[tools.zdr_video_output_s3]
bucket = ""
endpoint = ""
region = ""

[tools.zdr_video_output_s3.read_write]
access_key_id = ""
secret_access_key = ""

[tools.zdr_video_output_s3.read_only]
access_key_id = ""
secret_access_key = ""
KeyRequiredDescription
bucketyesBucket name for generated videos.
endpointyesS3-compatible endpoint URL (AWS S3, Cloudflare R2, MinIO, …).
regionyesBucket region.
key_prefixnoObject key prefix (default grok-videos/).
expires_secsnoPresigned-URL lifetime in seconds (default 900, minimum enforced).
read_writeyesCredentials used to presign the upload URL.
read_onlynoOptional credentials used to presign a playback/download URL; omit to manage retrieval yourself.

Only the presigned URLs leave the machine — the credentials themselves are never sent to xAI. Restart Grok Build after changing the config for it to take effect.

Note: Video tools will be enabled if the privacy setting is off (/privacy).


Last updated: August 10, 2026