- Create a bucket in CoreWeave to store your files.
- Create an access key for Encord to use.
- Create an organization access policy that gives the access key the necessary access to your bucket. No bucket policy is needed.
- Activate Cross-origin resource sharing to allow Encord to access your files from a web browser.
- Create the integration in Encord.
- Test the integration to ensure it works.
- A new CoreWeave organization has no S3 API access until an organization access policy exists for your user’s principal (
coreweave/<user-UID>). If requests to your bucket are denied, create that policy first. - CoreWeave AI Object Storage only accepts virtual-hosted URLs:
https://<bucket-name>.cwobject.com/<path>. See Register CoreWeave Data.
1. Create a Bucket in CoreWeave
- Log in to the CoreWeave Console.
- Open the app menu (the grid icon at the top left) and select Infra Control.

- Click Data and storage in the sidebar.
- In the Object storage tab, click Create bucket.
- Enter a unique Name for the bucket.
- Select a region (for example, US-East) and a Zone (for example, US-EAST-04A).
- Click Create to finalize the bucket.

You need the bucket URL and zone, but they can be accessed later: the Object storage tab lists each bucket with its Links and Zone. Use the
https://<bucket-name>.cwobject.com link.2. Create an Access Key in CoreWeave
- Open the app menu (the grid icon at the top left) and select Access Control.
- Click Object storage access keys in the sidebar.

- Click Create key.
- Enter a Name and select a Duration for the key.

- Click Create, then copy the Key ID and Key secret from the Access key created dialog. They are required for your integration with Encord.
3. Create a Policy for the Access Key
- Open the app menu (the grid icon at the top left) and select Access Control.
- Click Policies in the sidebar.
- In the Object storage access tab, click Create policy and enter a Policy name.

- In the Statement section, enter a Name for the statement, select Allow access, and specify the following:
- Principals: The user or principal associated with the access key. Choose it by name or email, or enter its ID, for example
coreweave/<user-UID>. - Actions:
s3:GetObject. To use Cloud-synced folders, alsos3:ListBucket. - Resources: The bucket you created for Encord to use, and the objects in it (
<bucket-name>and<bucket-name>/*). Use bucket names, not ARNs.
- Principals: The user or principal associated with the access key. Choose it by name or email, or enter its ID, for example


- Click Create policy.
This organization access policy is all Encord needs. You don’t need a bucket policy. Bucket policies are optional and cannot be applied in the CoreWeave Console. If your organization requires bucket-level controls, see CoreWeave’s bucket policy documentation.
4. Allow Cross-origin resource sharing (CORS)
A CORS configuration must be applied to your CoreWeave bucket. This enables Encord to request your files from a web browser. Without it, no files display in Encord, including images. Videos fail to load withFailed to access video asset. Please check your integration configuration.
CORS cannot be configured in the CoreWeave Console. Apply it with the S3 API, for example using the AWS CLI. See CoreWeave’s CORS documentation.
-
Save the CORS configuration for your region as
cors.json. This is the policy shown under 4. Set CORS permissions in the Encord integration dialog, wrapped inCORSRulesfor the AWS CLI.
These rules allow byte-range requests (
GET/HEAD) and expose the range and caching headers — Content-Range, Content-Length, Accept-Ranges, ETag, Content-Type, Last-Modified — that videos and large scene files (such as MCAP) need in order to stream in chunks directly in the browser.-
Configure an AWS CLI profile with a CoreWeave access key that your organization policy allows to perform
s3:PutBucketCORSon the bucket. If you scoped the key from step 2 to read-only access, use a different key. When prompted, enter the Key ID and Key secret, and leave the region and output format empty. CoreWeave requires virtual-hosted addressing. -
Apply the configuration to your bucket. Run the command from the folder that contains
cors.json. -
Verify the configuration.
5. Set Up the Integration in Encord
- Click the Encord logo at the top left and select Workspace settings.
- Click Integrations > Cloud buckets in the sidebar.

- Click New integration.

- Select CoreWeave as the Integration provider.

- Provide the following:
- 1. Integration title: A meaningful name for the integration.
- 2. Create an account for Encord in IAM: Enter the CoreWeave Key ID as the Account access key ID and the Key secret as the Account secret access key (from step 2), and the bucket’s Zone (for example,
US-EAST-04A). Keep the pre-filled endpointhttps://cwobject.com.

- The access key can be found under Access Control > Object storage access keys in CoreWeave.
- The bucket URL and zone can be found under Infra Control > Data and storage, in the Object storage tab, in CoreWeave.
- 3. Give the account read access to the desired buckets and 4. Set CORS permissions refer to the policy in step 3 and the CORS configuration in step 4. Complete them in CoreWeave if you have not done so already.

- Optionally, under Advanced Settings, set a Custom signed url expiration time.

- Click Create integration. The dialog continues to Add cloud sync folder. Use a virtual-hosted storage path, as described in Register CoreWeave Data.
6. Test the Integration
- Click the Run a test button on the integration.
-
Paste the virtual-hosted URL of any object in the bucket, for example
https://<bucket-name>.cwobject.com/<path>/image.png, and click Check Encord can access this URI. If the test is successful a green tick appears next to Encord infrastructure and This machine.- Encord infrastructure checks that Encord can read the object with your access key and policy.
- This machine checks that your browser can load the object, which requires the CORS configuration. If it fails with “It is likely CORS has been misconfigured”, apply CORS to this bucket.
- To use Cloud-synced folders, paste the bucket URL, for example
https://<bucket-name>.cwobject.com, and click Check Encord can access this directory. This checks that the access key can list the bucket (s3:ListBucket).
The test confirms what the access key can access, not what it is restricted from. A passing test on a bucket the integration should not reach means another policy grants wider access. See Create a Policy for the Access Key.

