> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trelent.com/llms.txt
> Use this file to discover all available pages before exploring further.

# S3 Output

> Write processed results directly to your S3 bucket

Write results to your S3 bucket. For each input, we write a markdown file and an `images/` folder of screenshots. The markdown references images by filename.

### Discriminant

* `type: "bucket"`

### Minimal config

```json theme={null}
{
  "output": {
    "type": "bucket",
    "bucket_name": "example-output-bucket",
    "prefix": "processed/"
  }
}
```

Field reference

* `bucket_name` (string): Destination bucket.
* `prefix` (string): Folder prefix under which results are written.

Delivery details

For each input identifier, the response includes:

* `images` (object): Map of image ids to `{ bucket, key }` pointers.
* `markdown_delivery` (object): `{ bucket, key }` pointer for the markdown file.

Example delivery (truncated)

```json theme={null}
{
  "s3://my-docs-bucket/docs/file.pdf": {
    "images": {
      "001": { "bucket": "example-output-bucket", "key": "processed/abc/001.png" }
    },
    "markdown_delivery": { "bucket": "example-output-bucket", "key": "processed/abc/file.md" }
  }
}
```

### Going deeper

* For programmatic consumption, use the `bucket` and `key` from each pointer to construct full S3 URLs.
* When checking job status, you can exclude inline markdown to reduce payload size using the SDK:
  * TypeScript: `client.getJobStatus(jobId, { excludeMarkdown: true })`
  * Python: `client.get_job_status(job_id, exclude_markdown=True)`
