SB

Storage integration

# Supabase + Transloadit

Import and export Supabase Storage objects through its S3-compatible endpoint with dedicated Transloadit Robots.

Executable recipe

## Build the integration

This Template imports a Supabase Storage object, resizes it, and writes the result into the same bucket under processed/.

1. Enable the Supabase Storage S3 endpoint and generate server-side access keys.
2. Save the S3 connection values as Template Credentials named my\_supabase\_credentials.
3. Paste the Instructions into a Template and start an Assembly from that Template.

### Template Instructions

```
{
  "steps": {
    "imported": {
      "robot": "/supabase/import",
      "credentials": "my_supabase_credentials",
      "path": "incoming/photo.jpg"
    },
    "resized": {
      "robot": "/image/resize",
      "use": "imported",
      "width": 1200,
      "height": 1200,
      "resize_strategy": "fit"
    },
    "exported": {
      "robot": "/supabase/store",
      "use": "resized",
      "credentials": "my_supabase_credentials",
      "path": "processed/${file.url_name}"
    }
  }
}
```

## Authentication

* Generate S3 access keys in the Supabase Storage S3 settings and copy the endpoint and region from the same screen.
* Save the bucket, direct storage endpoint, region, Access Key ID, and Secret Access Key as Transloadit Template Credentials.
* Treat these values as server credentials. Supabase states that generated S3 access keys bypass Row Level Security.

## Limitations and operational notes

* Generated S3 access keys provide broad server-side access across Storage buckets and bypass RLS policies. Scope the Transloadit workflow with its bucket and path configuration.
* The Transloadit Robots use access-key authentication; they do not accept Supabase user JWT session-token authentication.
* Use the direct storage hostname recommended by Supabase for large files instead of the project API hostname.

## Related Robots

* [/supabase/import](/docs/robots/supabase-import.md)\
  Import from Supabase
* [/image/resize](/docs/robots/image-resize.md)\
  Resize images
* [/supabase/store](/docs/robots/supabase-store.md)\
  Store in Supabase

## Documentation

* [Transloadit Supabase import documentation](/docs/robots/supabase-import.md)
* [Transloadit Supabase store documentation](/docs/robots/supabase-store.md)
* [Supabase S3 authentication documentation⁠](https://supabase.com/docs/guides/storage/s3/authentication)
  [Create a Template](/c/templates/new/)

More integrations

## Continue building your stack

S3

### [Amazon S3](/integrations/amazon-s3.md)

Import from and export to Amazon S3 with dedicated Robots.

R2

### [Cloudflare R2](/integrations/cloudflare-r2.md)

Process R2 objects with dedicated import and store Robots.

TG

### [Tigris](/integrations/tigris.md)

Import and export Tigris objects with first-class Robots.
