Free Audio Object Schema Generator

Fill in the facts visible on your page, copy the Audio Object JSON-LD, and validate it before you publish. The guide, examples, and FAQs are below the tool. Generate this schema with AI

Type to filter 121 supported schema types.

Schema workflow

Use only facts a visitor can verify on the page, then validate the JSON-LD before publishing.

Required

  • Visible Audio Object content
  • Canonical page URL
  • Clear page owner/publisher
  • Fields that match the visible page

Recommended

  • A representative image when the schema supports it
  • SameAs or related links when visible
  • Validation before publishing

Avoid

  • Adding properties that are not visible
  • Copying example URLs into production
  • Skipping Google and Schema.org validation

Schema stacks

Use Audio Object schema in a stack

Complete JSON-LD bundles that combine Audio Object with the other types a real page needs. Browse all stacks

  • Transcript Stack

    Transcript pages tying an Article to the source media (audio/video), with FAQs and breadcrumb navigation.

  • Playlist / Series Stack

    Playlist/series hubs with an ItemList of audio/video entries, FAQs, and breadcrumb navigation.

Next step

Validate, repair, and publish clean structured data.

Check the generated JSON-LD against the visible page, then run both SwiftSchema and external validators before publishing.

Audio Object Schema Generator — Describe Playable Audio

Generate valid AudioObject JSON‑LD for podcasts and audio files. Clarify content URL, title, duration, language, and authorship for better understanding.

Try the AudioObject Generator

Why many audio pages underperform

  • Missing or incorrect contentUrl causes broken playback context.
  • Duration is not in ISO 8601, leading to validator warnings.
  • Language and authorship are unclear, reducing discovery and attribution.
  • Manual JSON‑LD is inconsistent across episodes/files.

How SwiftSchema helps

The AudioObject generator guides the essentials: contentUrl (actual audio file), optional page url, name, description, encodingFormat, and ISO 8601 duration.

It supports inLanguage and author (Person or Organization) to improve attribution and discovery, and outputs copy‑ready JSON‑LD for your audio pages.

How it works

  1. 01

    Choose AudioObject in the generator below.

  2. 02

    Enter title, description, and contentUrl (direct audio file URL).

  3. 03

    Add page url, encodingFormat (e.g., audio/mpeg), and ISO 8601 duration (e.g., PT42M).

  4. 04

    Provide inLanguage and author (Person/Organization) when available.

  5. 05

    Copy JSON or Script, paste into your audio or episode page, and validate in the Rich Results Test.

Ready to build the markup?

Paste once per audio file. Validate. Ship.

Generate AudioObject JSON‑LD

What is AudioObject structured data?

AudioObject is a Schema.org type that documents downloadable or streamable audio. It captures the actual file URL (contentUrl), the page that hosts the player (url), metadata such as title, description, duration, encoding format, and credits (author/publisher). Search engines rely on these cues to understand whether a page contains a playable podcast episode, audiobook snippet, guided meditation, or voiceover clip. Without the schema, crawlers must infer details from HTML alone, which is risky when the audio player renders client-side or when multiple files live on the same page.

AudioObject can stand on its own or be nested inside PodcastEpisode, MusicRecording, or CreativeWork. Use it whenever you expose a discrete audio file—even if you already have Podcast markup—because it ensures the file-level details (bitrate, duration, language) are explicit. Think of AudioObject as the ground truth: PodcastEpisode references it, but the object itself points to the MP3, WAV, or AAC asset users actually hear.

Essential properties to include

  1. contentUrl — the direct URL to the audio file (e.g., https://cdn.example.com/audio/show-42.mp3). Avoid using streaming playlist URLs unless that’s the only option.
  2. url — the public landing page where people play or download the file. This helps search engines tie the asset to a canonical page.
  3. name — the episode or track title. Keep it consistent with your on-page H1 and RSS feed.
  4. description — a concise summary of the audio. Include guest names, topics, or chapters to improve relevance.
  5. encodingFormat — MIME type such as audio/mpeg, audio/aac, or audio/wav.
  6. duration — ISO 8601 duration string, e.g., PT36M15S (36 minutes, 15 seconds).
  7. inLanguage — BCP 47 language code (en-US, es-MX) so speech surfaces know the primary language.
  8. author / creator — Person or Organization responsible for the audio. Include sameAs links if the author has notable profiles.
  9. datePublished — when the audio first went live. Add dateModified if you later remaster or edit the file.
  10. thumbnailUrl — artwork associated with this episode or recording, ideally 1,200px+ for discoverability.

Optional extras: transcript (link to text), genre, interactivityType (“mixed”, “active”), regionsAllowed, expires (for limited-time releases).

Content and asset preparation

Before generating schema, confirm the following:

  • The audio file is hosted at a stable URL (no expiring presigned links or query strings that change daily).
  • The landing page displays an accessible player (HTML <audio>, custom React player, or embedded platform) so users can listen without digging through RSS feeds.
  • The title, episode number, and description match what you provide in RSS/Apple Podcasts/Spotify to avoid conflicting metadata.
  • You have a published transcript or at least bullet-point summary; schema should not promise transcripts that don’t exist.
  • Image artwork is compressed, served via HTTPS, and free of licensing restrictions.

If you serve geo-restricted audio, note that in the copy and use regionsAllowed to list where the audio can be played.

Implementation checklist

  1. Identify the canonical player page (url) for each audio item.
  2. Collect metadata: title, description, publish date, duration, encoding format, language, author credits, artwork URL, transcript link.
  3. Verify contentUrl: confirm the file is publicly fetchable (200 status, correct MIME type). For CDNs requiring tokens, consider using signed URLs with long expirations or provide a fallback download link.
  4. Generate JSON‑LD with the form below, filling required and recommended properties.
  5. Embed once per audio item inside the landing page. If the page hosts multiple tracks, include an AudioObject block per track with unique @ids.
  6. Validate via Rich Results Test or the Schema Markup Validator. Pay attention to errors around duration formatting or inaccessible file URLs.
  7. Monitor search appearance in Search Console (Performance > Discover or Search) to spot improvements after deployment.

Hosting and CDN best practices

  • Serve audio over HTTPS with CORS headers that allow crawlers to fetch the file.
  • Avoid aggressive hotlink protection that blocks Googlebot; whitelist the major crawler user agents if using a CDN firewall.
  • Keep the file accessible at the same URL long-term. Changing contentUrl breaks existing references in podcast clients and search indexes.
  • Provide multiple encoding formats if you cater to legacy browsers (MP3, AAC). Reference each format using encodingFormat or multiple AudioObjects if necessary.
  • Use descriptive file names (e.g., season3-episode7-legal-updates.mp3) to reinforce topical relevance.

Transcripts and accessibility

Adding transcripts improves accessibility and searchability. When you host a transcript:

  • Reference it using transcript: either inline text or a URL to the transcript page.
  • Make sure the transcript matches the actual audio to avoid policy issues.
  • Highlight key timestamps or chapter markers in the transcript so listeners can jump to relevant sections. You can mark chapters as hasPart entries.
  • Use interactionStatistic to log play counts if you have verifiable analytics data; otherwise leave it out.

Troubleshooting checklist

  • Duration errors: Ensure the string starts with P (period), includes T before time units, e.g., PT15M30S. Use uppercase letters.
  • Unavailable contentUrl: Test the URL in curl or your browser without authentication. If it redirects, ensure the final destination stays audio/mpeg.
  • Multiple AudioObjects overriding each other: If you embed several on one page, include distinct @id fields (e.g., "#audio-episode-42") to keep them separate.
  • Language mismatches: If the audio is bilingual, specify the dominant language and mention additional languages in the description.
  • Missing authors: Tie episodes to creators using Person schema; failing to credit talent can reduce perceived expertise.

Maintenance tips

  • Log every upload with publish date, file URL, and schema status. When you swap files (e.g., re-edit), update dateModified and note the change.
  • If you migrate hosting providers, set up redirects from old contentUrl values to new ones and update the schema simultaneously.
  • Review older episodes quarterly to ensure transcripts, artwork, and credits are still accurate. Replace dead transcript links promptly.
  • For limited-time releases, add expires so search engines know when not to feature the audio.

Common Errors & Fixes

  • Wrong duration format: always use ISO 8601 (e.g., PT1H2M).
  • Broken contentUrl: ensure the URL returns 200 and serves audio; avoid temporary presigned links.
  • Missing language metadata: set inLanguage to match the speech; add subtitleLanguage if you host captions/subtitles.
  • No attribution: include author/creator and, if applicable, publisher to signal ownership.
  • Only linking to YouTube/Spotify: even if the episode lives on platforms, host or proxy a direct file URL or at least link to a playable landing page you control.

Required properties

  • contentUrl

Recommended properties

  • name
  • description
  • encodingFormat
  • duration
  • inLanguage
  • author.name
Minimal JSON-LD
Validate
{
  "@context": "https://schema.org",
  "@type": "AudioObject",
  "contentUrl": "https://cdn.example.com/audio/episode1.mp3",
  "name": "Episode 1"
}

FAQs

What format for duration?Show

Use ISO 8601 durations like `PT42M` for 42 minutes.

Where should contentUrl point?Show

Directly to the audio file when possible; also include the page `url`.

Related types

Browse all schema types

References