Files
plexpy/docs/models/components/mediacontainerwithdecisionpart.md
speakeasybot d0db038e53 ## Python SDK Changes:
* `plex_api.library_playlists.add_playlist_items()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_metadata_hubs()`: 
  *  `request.only_transient` **Changed**
  *  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_collections.move_collection_item()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_collections.delete_collection_item()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_collections.add_collection_items()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.content.get_sonically_similar()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.butler.stop_task()`:  `request` **Changed** **Breaking** ⚠️
* `plex_api.butler.start_task()`:  `request` **Changed** **Breaking** ⚠️
* `plex_api.content.get_sonic_path()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.download_queue.get_item_decision()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_all_hubs()`: 
  *  `request.only_transient` **Changed**
  *  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_continue_watching()`:  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_promoted_hubs()`:  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.content.get_all_leaves()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_postplay_hubs()`: 
  *  `request.only_transient` **Changed**
  *  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_related_hubs()`: 
  *  `request.only_transient` **Changed**
  *  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.hubs.get_section_hubs()`: 
  *  `request.only_transient` **Changed**
  *  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.content.list_content()`: 
  *  `request` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.content.get_albums()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.search.search_hubs()`:  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.search.voice_search_hubs()`: 
  *  `request.type` **Changed** **Breaking** ⚠️
  *  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_library_items()`: 
  *  `request.media_query` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.ingest_transient_item()`: 
  *  `request` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_library_matches()`: 
  *  `request` **Changed** **Breaking** ⚠️
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.content.get_metadata_item()`: 
  *  `request` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_sections()`:  `response.media_container.directory.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.add_section()`: 
  *  `request` **Changed**
  *  `response.media_container.directory.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_tags()`: 
  *  `request.type` **Changed** **Breaking** ⚠️
* `plex_api.content.get_collection_items()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_all_item_leaves()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.status.list_sessions()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.move_play_queue_item()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_extras()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.delete_play_queue_item()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.unshuffle()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.list_matches()`: 
  *  `request.manual` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.list_sonically_similar()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.reset_play_queue()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_related_items()`:  `response.media_container.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.list_similar()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.clear_play_queue()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_item_tree()`:  `response.media_container.metadata_item.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.add_to_play_queue()`: 
  *  `request.next` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.get_play_queue()`: 
  *  `request` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_playlists.move_playlist_item()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_person()`:  `response.media_container.directory.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.list_person_media()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_playlists.get_playlist_generator_items()`:  `response.media_container.metadata` **Changed** **Breaking** ⚠️
* `plex_api.library.get_library_details()`: 
  *  `request.include_details` **Changed**
  *  `response.media_container.directory.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_playlists.modify_playlist_generator()`: 
  *  `request.item` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.autocomplete()`: 
  *  `request.media_query` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_collections()`: 
  *  `request.media_query` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.get_common()`: 
  *  `request.media_query` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_playlists.delete_playlist_item()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_playlists.clear_playlist_items()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.play_queue.shuffle()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library_playlists.create_playlist()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.playlist.get_playlist_items()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.playlist.get_playlist()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.collections.create_collection()`: 
  *  `request.type` **Changed** **Breaking** ⚠️
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.dv_rs.tune_channel()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.live_tv.get_sessions()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.live_tv.get_live_tv_session()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.playlist.list_playlists()`:  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.get_all_subscriptions()`: 
  *  `request` **Changed**
  *  `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.create_subscription()`:  `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.get_scheduled_recordings()`:  `response.media_container.media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.get_template()`:  `response.media_container.subscription_template.[].media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.get_subscription()`: 
  *  `request` **Changed**
  *  `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.edit_subscription_preferences()`:  `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.subscriptions.reorder_subscription()`:  `response.media_container.media_subscription.[].media_grab_operation.[].metadata` **Changed** **Breaking** ⚠️
* `plex_api.transcoder.make_decision()`: 
  *  `request` **Changed**
  *  `response.media_container.metadata.[]` **Changed** **Breaking** ⚠️
* `plex_api.library.refresh_items_metadata()`: 
  *  `request.mark_updated` **Changed**
* `plex_api.authentication.post-users-sign-in-data()`: **Added**
* `plex_api.transcoder.start_transcode_session()`:  `request` **Changed**
* `plex_api.devices.modify_device()`: 
  *  `request.enabled` **Changed**
* `plex_api.library.get_media_part()`: 
  *  `request.download` **Changed**
* `plex_api.library.detect_intros()`: 
  *  `request.force` **Changed**
* `plex_api.library.refresh_section()`: 
  *  `request.force` **Changed**
* `plex_api.library_playlists.upload_playlist()`: 
  *  `request.force` **Changed**
* `plex_api.library.delete_media_item()`: 
  *  `request.proxy` **Changed**
* `plex_api.authentication.get_token_details()`: **Added**
* `plex_api.library.get_first_characters()`: 
  *  `request.media_query` **Changed**
* `plex_api.library.update_items()`: 
  *  `request.field.locked` **Changed**
* `plex_api.library.delete_library_section()`: 
  *  `request.async` **Changed**
* `plex_api.library.set_stream_selection()`: 
  *  `request.all_parts` **Changed**
* `plex_api.play_queue.create_play_queue()`:  `request` **Changed**
* `plex_api.library.get_augmentation_status()`: 
  *  `request.wait` **Changed**
* `plex_api.library.detect_voice_activity()`:  `request` **Changed**
* `plex_api.transcoder.transcode_image()`:  `request` **Changed**
* `plex_api.transcoder.transcode_subtitles()`:  `request` **Changed**
* `plex_api.library.add_subtitles()`:  `request` **Changed**
* `plex_api.library.get_stream()`: 
  *  `request.auto_adjust_subtitle` **Changed**
* `plex_api.library.start_bif_generation()`: 
  *  `request.force` **Changed**
* `plex_api.library.detect_credits()`:  `request` **Changed**
* `plex_api.ultra_blur.get_image()`: 
  *  `request.noise` **Changed**
* `plex_api.library.generate_thumbs()`: 
  *  `request.force` **Changed**
* `plex_api.updater.apply_updates()`:  `request` **Changed**
* `plex_api.updater.check_updates()`: 
  *  `request.download` **Changed**
* `plex_api.library.delete_metadata_item()`: 
  *  `request.proxy` **Changed**
* `plex_api.library.optimize_database()`: 
  *  `request.async` **Changed**
* `plex_api.hubs.update_hub_visibility()`:  `request` **Changed**
* `plex_api.hubs.create_custom_hub()`:  `request` **Changed**
* `plex_api.library.get_section_image()`: 
  *  `request.media_query` **Changed**
* `plex_api.download_queue.add_download_queue_items()`:  `request` **Changed**
* `plex_api.timeline.report()`:  `request` **Changed**
* `plex_api.general.get_source_connection_information()`: 
  *  `request.refresh` **Changed**
* `plex_api.plex.get-server-resources()`: **Added**
* `plex_api.users.get-users()`: **Added**
2025-12-01 00:03:55 +00:00

11 KiB
Raw Permalink Blame History

MediaContainerWithDecisionPart

Part represents a particular file or "part" of a media item. The part is the playable unit of the media hierarchy. Suppose that a movie library contains a movie that is broken up into files, reminiscent of a movie split across two BDs. The metadata item represents information about the movie, the media item represents this instance of the movie at this resolution and quality, and the part items represent the two playable files. If another media were added which contained the joining of these two parts transcoded down to a lower resolution, then this metadata would contain 2 medias, one with 2 parts and one with 1 part.

Fields

Field Type Required Description Example
accessible Optional[bool] Indicates if the part is accessible. true
audio_profile Optional[str] N/A lc
container Optional[str] The container of the media file, such as mp4 or mkv mov
duration Optional[int] The duration of the media item, in milliseconds 150192
exists Optional[bool] Indicates if the part exists. true
file Optional[str] The local file path at which the part is stored on the server /home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov
has64bit_offsets Optional[bool] N/A false
id int ✔️ N/A 1
indexes Optional[str] N/A sd
key str ✔️ The key from which the media can be streamed /library/parts/1/1531779263/file.mov
optimized_for_streaming Optional[bool] N/A false
size Optional[int] The size of the media, in bytes 105355654
stream List[components.MediaContainerWithDecisionStream] N/A
video_profile Optional[str] N/A main
decision Optional[components.Decision] N/A
selected Optional[bool] N/A
__pydantic_extra__ Dict[str, Any] N/A