diff --git src/wp-admin/includes/image.php src/wp-admin/includes/image.php
index 87b8191..c21aa16 100644
--- src/wp-admin/includes/image.php
+++ src/wp-admin/includes/image.php
@@ -213,6 +213,15 @@ function wp_generate_attachment_metadata( $attachment_id, $file ) {
 			'large',
 		);
 
+		/**
+		 * Filters the image sizes generated for non-image mime types.
+		 *
+		 * @since 4.7.0
+		 *
+		 * @param array $fallback_sizes An array of image size names.
+		 */
+		$fallback_sizes = apply_filters( 'fallback_intermediate_image_sizes', $fallback_sizes, $metadata );
+
 		$sizes = array();
 
 		foreach ( $fallback_sizes as $s ) {
@@ -234,7 +243,7 @@ function wp_generate_attachment_metadata( $attachment_id, $file ) {
 				$editor = wp_get_image_editor( $uploaded['path'] );
 				unset( $uploaded['path'] );
 
-				if ( ! is_wp_error( $editor ) ) {
+				if ( ! is_wp_error( $editor ) && ! empty( $fallback_sizes ) ) {
 					$metadata['sizes'] = $editor->multi_resize( $sizes );
 					$metadata['sizes']['full'] = $uploaded;
 				}
