Skip to content

Artifacts & storage

Every generated image and video — where it's stored, how long it's kept, and how to browse, download, or delete it.

This page covers the files your image and video requests produce — where they are stored and how long they are kept. Text and embedding calls produce no files.

Each request resolves its destination by priority:

  1. storage_credential_id on the API request — per-call override.
  2. The deployment’s default bucket — set in the Serving Edit drawer.
  3. Managed — Meshive-operated storage. The default.
  • Your buckets connect under Settings → Integrations: AWS S3, Cloudflare R2, MinIO, GCS (S3-compatible).
  • Verified credentials only — an unverified/broken credential fails explicitly (422 at submit, or storage_upload_failed), never a silent fallback elsewhere.
  • Sync calls follow the same priority. With your bucket configured, sync results are always uploaded there (even b64_json responses, for retention).
WhatWhereKept for
Async resultsManagedThe retention window — 10 days by default — then auto-deleted. Each result carries its own delete at time
Async resultsYour bucketForever — Meshive never deletes from your buckets
Sync image results (response_format=url)ManagedLink lasts ~1 hour, object removed shortly after — download immediately, use b64_json, or set an output bucket
Sync image resultsYour bucketForever (links signed ~7 days; re-fetch to re-sign)
  • The retention window is platform configuration and may change — each result’s delete at always shows the live value.
  • Need something past the window? Download it, or point the deployment (or request) at your own bucket.
  • Open the request under Serverless › Requests — its detail page renders the output and links to the original file.
  • Links don’t go stale — URLs are re-signed each time you open the page. A tab left open for hours may 403; refresh it.
  • Managed results also age out on their own at delete at; your buckets never auto-expire.
SurfaceLink lifetime
GET /v1/requests/{id}output_urls~1 hour (Requests)
GET /v1/videos/{id}/content302-redirect to a ~1-hour link (Videos API)
Request detail page~6 hours, re-signed every visit

Links expiring is normal. Permanent access = downloading the file, or owning the bucket it lives in.