Artifacts & storage
Copied screenshots, downloads, and artifact blobs are kept 7 days by default, then deleted. Enterprise workspaces can set 24 hours, 7 days, or 30 days; zero-retention is a contract term. See Data handling & retention for the full table (what is copied vs linked, session-replay TTLs, DELETE a run, and what benchmarks actually store).
Every runner maps into the same canonical fields under banana_peel (banana_peel.run/v1). If a runner cannot capture a screenshot or download, those fields are null / empty — never a different schema.
Screenshots
- Browser-backed runners often return a final JPEG/PNG in
banana_peel.screenshot. - Hosted agents may supply step frames or a last frame; when unavailable,
screenshot_unavailable_reasonexplains why. - Read-only extractors typically have no screenshot.
Downloads
- Files the run downloads are captured and hosted by Banana Peel: they appear in
banana_peel.artifactswithid,kind: "download",content_type(sniffed from magic bytes),size, and a retrievalurl. - The
urlis the authenticated endpointGET /v1/responses/:id/artifacts/:artifactId(same API-key auth as the run, scoped to your workspace). It 302-redirects to a short-lived signed URL (~10 minutes) or streams the bytes directly. - Caps: 30 MB per file, 10 artifacts per run. Oversize files keep metadata with an
unavailable_reason. - Delivery honesty: when a task asks for a download,
banana_peel.deliverablesreportsclaimedvsdeliveredwith averdict(delivered/partial/not_delivered). A run that claims downloads but delivers zero captured files is reported asfailed— provider-session download links expire when the browser session ends and do not count as delivery. In structured output,download_triggeredmeans the click happened in-session;file_deliveredmeans the file was actually captured. - Runner support varies: hosted agents with file APIs (Browser-Use, Skyvern, Deck), local and MCP browsers, and Browserbase/Steel sessions deliver file bytes; pure extract/search APIs cannot. Smart routing prefers delivery-capable runners for download tasks.
Sessions & replay
banana_peel.session may include live_url, replay_url, and connect_url when the runner provides them. See the capability matrix.