---
search:
  tags:
    - Podcasts
    - PUT
seo:
  description: >-
    Replace the podcast cover image. Reference for the PUT
    /v1/podcasts/{podcast_id}/image endpoint in the Jellypod API.
sidebar:
  label: Replace the podcast cover image
  badge: PUT
title: Replace the podcast cover image
type: openapi-operation
---
`PUT /v1/podcasts/{podcast_id}/image`

**Request body** (`application/octet-stream`, required)

Raw image bytes. Set \`Content-Type\` to \`image/jpeg\`, \`image/png\`, or \`image/webp\`.

Request body example:

```json
"string"
```

**Responses**

- `200` — Image updated
- `400` — Validation failed or malformed request.
- `401` — Missing or invalid API key.
- `403` — Authenticated, but this API key does not have access to this resource.
- `404` — Resource not found.
- `415` — Request \`Content-Type\` is not supported for this endpoint.
- `429` — Rate limit exceeded. Wait \`Retry-After\` seconds before retrying; \`RateLimit-Limit\`, \`RateLimit-Remaining\`, and \`RateLimit-Reset\` describe the window.
- `500` — Internal server error.

Response example, 200:

```json
{
  "data": {
    "author": "string",
    "created_at": "string",
    "description": "string",
    "episode_count": 0,
    "episode_order": "episodic",
    "host_ids": [
      "string"
    ],
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "image_url": "string",
    "languages": [
      "string"
    ],
    "primary_category": "string",
    "rss_feed_url": "string",
    "secondary_category": "string",
    "title": "string",
    "updated_at": "string",
    "url": "string",
    "visibility": "public"
  }
}
```
