BUILD / configure-zdr-video-storage-in-grok-build

Build

Configure ZDR video output storage in Grok Build

Configure ZDR video output storage in Grok Build

Under Zero Data Retention (ZDR), Grok Build will not keep generated videos on xAI infrastructure. Until you point video tools at user-supplied S3-compatible storage, those tools return an error. Official setup: Video Output Storage under ZDR. Team-level ZDR and the broader data lifecycle are under Enterprise Deployments.

What you configure

Put the bucket and credentials in ~/.grok/managed_config.toml. Grok Build presigns an upload URL for each generation and passes that URL to the API, so the video lands in your bucket. Credentials stay on the machine; only the presigned URLs leave it.

[tools.zdr_video_output_s3]
bucket = "your-bucket"
endpoint = "https://s3.amazonaws.com"
region = "us-east-1"
# optional:
# key_prefix = "grok-videos/"   # default
# expires_secs = 900            # default; minimum enforced

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

# optional playback/download URL credentials:
# [tools.zdr_video_output_s3.read_only]
# access_key_id = "..."
# secret_access_key = "..."
Key Required Notes
bucket yes Destination bucket name
endpoint yes S3-compatible URL (AWS S3, Cloudflare R2, MinIO, …)
region yes Bucket region
key_prefix no Object prefix (default grok-videos/)
expires_secs no Presigned-URL lifetime in seconds (default 900)
read_write yes Credentials used to presign the upload URL
read_only no Credentials for a playback/download URL; omit if you handle retrieval yourself

Restart Grok Build after editing the file.

Related toggles

  • Settings reference: [tools] disable_zdr_incompatible_tools and [tools.zdr_video_output_s3] — see TOML Values.
  • Video tools stay available when privacy/ZDR is off (/privacy in the TUI), per the ZDR video page.

Pitfalls

  • Wrong file path: use ~/.grok/managed_config.toml as documented for this block, then restart.
  • Missing read_write keys blocks upload URL minting even if the bucket exists.
  • Enterprise network allowlists still need the hosts in Enterprise Deployments for inference and auth.