Playback descriptor for an attachment
const url = 'https://example.com/wp-json/wp2/media-playback/v1/attachments/1';const options = {method: 'GET', headers: {'X-WP-Nonce': '<X-WP-Nonce>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/wp-json/wp2/media-playback/v1/attachments/1 \ --header 'X-WP-Nonce: <X-WP-Nonce>'Ready-made player descriptor: sources, poster, subtitle/chapter tracks. Query blog_id and lang select site and language. This is a read model, not encoding.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Numeric entity id.
Query Parameters
Section titled “Query Parameters”Network site ID. Optional on a single site.
WPML language.
Responses
Section titled “Responses”Player descriptor (camelCase, as MediaDescriptor::to_array).
object
Attachment ID.
Blog ID the descriptor was built on.
Attachment title.
Poster URL or null.
Seekbar sprite VTT URL or null.
Player sources.
object
Source URL (original or derived format).
Source MIME type.
Width if known.
Height if known.
Quality variant label.
Encode format key.
Subtitle and chapter tracks.
object
Subtitles, captions, or chapters.
VTT/SRT URL.
Track language code.
Track label.
Default track flag.
Clip metadata from _kgvid-meta.
object
Duration in seconds.
Original media-library file URL.
Original file MIME type.
Original width.
Original height.
Examplegenerated
{ "attachmentId": 1, "blogId": 1, "title": "example", "poster": "example", "thumbnailsVtt": "example", "sources": [ { "url": "example", "type": "example", "width": 1, "height": 1, "label": "example", "format": "example" } ], "tracks": [ { "kind": "example", "src": "example", "srclang": "example", "label": "example", "default": true } ], "meta": { "duration": 1, "originalUrl": "example", "mimeType": "example", "width": 1, "height": 1 }}Not authenticated. WordPress REST: rest_not_logged_in / rest_forbidden. Use cookie + X-WP-Nonce or Application Password.
object
Machine-readable error or event code.
Message text (log, PIN, or password reset).
Extra WP_Error or license payload.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}Insufficient capability or invalid REST nonce. WordPress REST: rest_forbidden / rest_cookie_invalid_nonce.
object
Machine-readable error or event code.
Message text (log, PIN, or password reset).
Extra WP_Error or license payload.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}Attachment_not_found
object
Machine-readable error or event code.
Message text (log, PIN, or password reset).
Extra WP_Error or license payload.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}