Open in gallery

Podcast Episode Card template

The podcast-episode-card template renders a content image as a PNG. POST a JSON payload to the endpoint below and you receive a CDN URL in the response.

Endpoint

POST https://app.html2img.com/api/v1/templates/podcast-episode-card
X-API-Key: <your-api-key>
Content-Type: application/json

Authentication uses the X-API-Key header. See the authentication docs for details on issuing and rotating keys.

Inputs

The full set of inputs the template accepts:

Name Type Required Description Example
episode_number string Yes Text value for the episode number. 042
episode_title string Yes Text value for the episode title. How Riverside Bakery automated wholesale fulfillment
podcast_name string Yes Text value for the podcast name. The Production Hour
duration string No Text value for the duration. 47 min
host_name string No Text value for the host name. Adaeze Okafor
host_avatar_url url No URL of the host avatar to include in the rendered image. https://i.pravatar.cc/160?img=49
cover_image_url url No URL of the cover image to include in the rendered image. https://picsum.photos/seed/podcast-cover-card/600/600
accent_color string No Hex colour code for the accent. #7C3AED

Defaults

Defaults applied automatically when not overridden in the request:

Option Default value
width 1200
height 630

Code examples

curl -X POST https://app.html2img.com/api/v1/templates/podcast-episode-card \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"episode_number":"042","episode_title":"How Riverside Bakery automated wholesale fulfillment","podcast_name":"The Production Hour","duration":"47 min","host_name":"Adaeze Okafor","host_avatar_url":"https://i.pravatar.cc/160?img=49","cover_image_url":"https://picsum.photos/seed/podcast-cover-card/600/600","accent_color":"#7C3AED"}'

Looking for a fuller integration sketch in your language? The usage guides cover PHP, Laravel, Rails, Python, JavaScript, React and Vue.

Response

A successful render returns:

{
 "success": true,
 "id": "abc123",
 "url": "https://i.html2img.com/abc123.png",
 "credits_remaining": 1234,
 "template": "podcast-episode-card"
}

The url field is a CDN URL for the rendered PNG. credits_remaining tracks your monthly quota. Shared response fields are documented in the API parameters reference.

Errors

The template endpoint returns the following error responses:

422 Validation failed

Returned when one or more inputs fail validation. The errors object lists field-specific messages.

{
 "success": false,
 "error": "validation_failed",
 "errors": {
 "title": ["The title field is required."]
 }
}

404 Template not found

Returned with {"code": "template_not_found"} if the slug is not registered. Check the template list for current slugs.

401 Unauthorised

Missing or invalid API key. See the authentication docs.

429 Too many requests

You have hit the rate limit or used your monthly credits. The pricing page covers higher-volume plans.

Related templates

  • Quote Card - Pull-quote cards for testimonials, reviews, and shareable quotes
  • Podcast Cover - Square cover artwork sized for Apple Podcasts, Spotify, and the major directories
  • Email Header - Wide email banner artwork sized for newsletter and transactional templates
  • Blog Featured Hero - Editorial hero images for blog posts and article pages

See the Podcast Episode Card template in our gallery for sample renders and use cases.