Index: src/wp-includes/media-template.php
===================================================================
--- src/wp-includes/media-template.php	(revision 27487)
+++ src/wp-includes/media-template.php	(working copy)
@@ -417,17 +417,27 @@
 	<script type="text/html" id="tmpl-playlist-settings">
 		<h3><?php _e( 'Playlist Settings' ); ?></h3>
 
+		<?php
+		$playlist_styles = array(
+			'light' => _x( 'Light', 'light playlist theme' ),
+			'dark'	=> _x( 'Dark', 'dark playlist theme' )
+		);
+
+		/** This filter is documented in wp-includes/media.php */
+		$styles = apply_filters( 'playlist_styles', $playlist_styles );
+
+		if ( ! empty( $styles ) ): ?>
 		<label class="setting">
 			<span><?php _e( 'Style' ); ?></span>
 			<select class="style" data-setting="style">
-				<option value="light">
-					<?php esc_attr_e( 'Light' ); ?>
+				<?php foreach ( $styles as $slug => $label ): ?>
+				<option value="<?php echo esc_attr( $slug ) ?>">
+					<?php echo $label ?>
 				</option>
-				<option value="dark">
-					<?php esc_attr_e( 'Dark' ); ?>
-				</option>
+				<?php endforeach ?>
 			</select>
 		</label>
+		<?php endif; ?>
 
 		<#
 			var playlist = 'playlist-edit' === data.controller.id, emptyModel = _.isEmpty(data.model);
Index: src/wp-includes/media.php
===================================================================
--- src/wp-includes/media.php	(revision 27487)
+++ src/wp-includes/media.php	(working copy)
@@ -1123,7 +1123,21 @@
 		$orderby = 'none';
 	}
 
-	if ( ! in_array( $style, array( 'light', 'dark' ), true ) ) {
+	$playlist_styles = array(
+		'light' => _x( 'Light', 'light playlist theme' ),
+		'dark'	=> _x( 'Dark', 'dark playlist theme' )
+	);
+
+	/**
+	 * Filter the available playlist styles.
+	 *
+	 * @since 3.9.0
+	 *
+	 * @param array $playlist_styles Array of playlist styles. Defaults are 'light' and 'dark'.
+	 */
+	$styles = apply_filters( 'playlist_styles', $playlist_styles );
+
+	if ( ! in_array( $style, array_keys( $styles ), true ) ) {
 		$style = 'light';
 	}
 
