---
title: "apply_media_asset"
method: POST
path: "/apply_media_asset"
tags: ["media_asset"]
---

# apply_media_asset

`POST /apply_media_asset`

## Request

- Base URL: `https://app.podmule.com/api/v1`
- URL: `https://app.podmule.com/api/v1/apply_media_asset`
- Auth: HTTP bearer

Apply a media asset as a cover or social image. Match the slot to the asset: a 16:9 YouTube thumbnail → episode_youtube_cover / show_youtube_cover; the square (1:1) podcast cover → episode_cover / show_cover; a clip image → clip. Never put a YouTube thumbnail in episode_cover/show_cover (it overwrites the podcast cover). Required: media_id, target (episode_cover|episode_youtube_cover|show_cover|show_youtube_cover|clip), target_id.

## Headers

- `Idempotency-Key` string
- `X-PodMule-Dry-Run` 'true' | 'false'

## Request body

- unknown

## Response `200`

Capability output wrapped in `{ data }`.

- object
  - `data` unknown, required

## Other responses

- `400`: Invalid input — Zod validation failed.
- `401`: Missing, malformed, or audience-mismatched bearer token.
- `403`: Token is valid but lacks the required scope.
- `404`: Capability not registered, or referenced resource not found.
- `409`: IDEMPOTENCY_KEY_REUSED — same Idempotency-Key was used previously with a different request body.
- `429`: Rate limit exceeded. Retry after the period in `Retry-After`.
- `500`: Internal error.

---

[API](https://skmtc.dev/podmule/apis/podmule-api.md) · [All operations](https://skmtc.dev/podmule/apis/podmule-api/llms.txt) · [OpenAPI document](https://skmtc.dev/podmule/apis/podmule-api/revisions/844ae61495fa?raw)
