---
title: "Re-host media from a public URL to Crispy storage for use in campaign steps. Supports audio (.m4a, .mp3, max 5MB) and im"
method: POST
path: "/api/v1/media/rehost"
tags: ["campaigns"]
---

# Re-host media from a public URL to Crispy storage for use in campaign steps. Supports audio (.m4a, .mp3, max 5MB) and im

`POST /api/v1/media/rehost`

## Request

- Base URL: `https://crispy.sh`
- URL: `https://crispy.sh/api/v1/media/rehost`
- Auth: HTTP bearer

## Request body

- object
  - `source_url` string, required: Public URL to download from (e.g. 'https://storage.elevenlabs.io/audio/pitch.mp3')
  - `filename` string, required: Filename with extension to save as (e.g. 'pitch.mp3'). Must have a supported extension.

## Response `200`

Success

## Other responses

- `401`: Missing or expired API key
- `403`: Insufficient key scope or permission denied
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/crispy/apis/crispy-rest-api.md) · [All operations](https://skmtc.dev/crispy/apis/crispy-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crispy/apis/crispy-rest-api/revisions/6bed0974d9ce?raw)
