Index: wp-admin/includes/post.php
===================================================================
--- wp-admin/includes/post.php	(revision 23919)
+++ wp-admin/includes/post.php	(working copy)
@@ -200,7 +200,7 @@
 		update_post_meta( $post_ID, '_wp_format_url', wp_slash( esc_url_raw( wp_unslash( $post_data['_wp_format_url'] ) ) ) );
 	}
 
-	$format_keys = array( 'quote', 'quote_source', 'image', 'gallery', 'audio', 'video' );
+	$format_keys = array( 'quote', 'quote_source', 'image', 'image_id', 'gallery', 'audio', 'video' );
 
 	foreach ( $format_keys as $key ) {
 		if ( isset( $post_data[ '_wp_format_' . $key ] ) )
Index: wp-admin/includes/post-formats.php
===================================================================
--- wp-admin/includes/post-formats.php	(revision 23919)
+++ wp-admin/includes/post-formats.php	(working copy)
@@ -19,27 +19,34 @@
 	</div>
 
 	<?php
-	$image = false;
-	if ( ! empty( $format_meta['image'] ) && is_numeric( $format_meta['image'] ) ) {
-		$format_meta['image'] = absint( $format_meta['image'] );
-		$image = wp_get_attachment_url( $format_meta['image'] );
-	}
+	$show_image_preview = ! empty( $format_meta['image'] ) || ! empty( $format_meta['image_id'] );
 	?>
 	<div class="field wp-format-image">
+		<?php if ( $show_image_preview ): ?>
+		<div id="image-preview" class="wp-format-media-preview">
+			<?php
+				if ( ! empty( $format_meta['image_id'] ) && is_numeric( $format_meta['image_id'] ) ) {
+					$image = wp_get_attachment_url( absint( $format_meta['image_id'] ) );
+					echo '<img src="' . esc_url( $image ) . '" />';
+				} elseif ( ! empty( $format_meta['image'] ) && ! preg_match( '#<[^>]+>#', $format_meta['image'] ) ) {
+					echo $wp_embed->autoembed( $format_meta['image'] );
+				} elseif ( ! empty( $format_meta['image'] ) ) {
+					echo $format_meta['image'];
+				}
+			?>
+		</div>
+		<?php endif ?>
+		<label for="_wp_format_image"><?php _e( 'Image embed code or URL' ); ?></label>
+		<textarea id="wp_format_image" type="text" name="_wp_format_image" class="widefat"><?php esc_html_e( $format_meta['image'] ); ?></textarea>
 		<div data-format="image" class="wp-format-media-holder hide-if-no-js<?php if ( ! $image ) echo ' empty'; ?>">
 			<a href="#" class="wp-format-media-select"
 				data-choose="<?php esc_attr_e( 'Choose an Image' ); ?>"
 				data-update="<?php esc_attr_e( 'Select Image' ); ?>">
-				<?php
-					if ( $image )
-						echo '<img src="' . esc_url( $image ) . '" />';
-					else
-						_e( 'Select / Upload Image' );
-				?>
+				<?php _e( 'Select / Upload Image' ); ?>
 			</a>
 		</div>
-		<label for="_wp_format_image" class="screen-reader-text"><?php _e( 'Attachment ID' ); ?></label>
-		<input id="wp_format_image" type="hidden" name="_wp_format_image" value="<?php echo esc_attr( $format_meta['image'] ); ?>" placeholder="<?php esc_attr_e( 'Attachment ID' ); ?>" class="widefat" />
+		<label for="_wp_format_image_id" class="screen-reader-text"><?php _e( 'Attachment ID' ); ?></label>
+		<input id="wp_format_image_id" type="hidden" name="_wp_format_image_id" value="<?php echo esc_attr( $format_meta['image_id'] ); ?>" placeholder="<?php esc_attr_e( 'Attachment ID' ); ?>" class="widefat" />
 	</div>
 
 	<div class="field wp-format-link wp-format-quote wp-format-image">
@@ -113,4 +120,4 @@
 			</a>
 		</div>
 	</div>
-</div>
\ No newline at end of file
+</div>
Index: wp-admin/js/post-formats.js
===================================================================
--- wp-admin/js/post-formats.js	(revision 23919)
+++ wp-admin/js/post-formats.js	(working copy)
@@ -112,14 +112,21 @@
 
 			mediaPreview = function (format, url, mime) {
 				$('#' + format + '-preview').remove();
-				$holder.parent().prepend( '<div id="' + format + '-preview" class="wp-format-media-preview">' +
+
+				if ( -1 < $.inArray( format, [ 'audio', 'video'] ) ) {
+					$holder.parent().prepend( '<div id="' + format + '-preview" class="wp-format-media-preview">' +
 					'<' + format + ' class="wp-' + format + '-shortcode" controls="controls" preload="none">' +
 						'<source type="' + mime + '" src="' + url + '" />' +
 					'</' + format + '></div>' );
-				$('.wp-' + format + '-shortcode').mediaelementplayer();
+					$('.wp-' + format + '-shortcode').mediaelementplayer();
+				} else {
+					$holder.parent().prepend( '<div id="' + format + '-preview" class="wp-format-media-preview">' +
+					'<img src="' + url + '" />' +
+					'</div>' );
+				}
 			};
 
-			// When an image is selected, run a callback.
+			// When an item is selected, run a callback.
 			mediaFrame.on( 'select', function () {
 				// Grab the selected attachment.
 				var attachment = mediaFrame.state().get('selection').first(), mime, url, id;
@@ -138,10 +145,11 @@
 					mediaPreview('video', url, mime);
 				} else {
 					// set the hidden input's value
-					$field.val(id);
-					// Show the image in the placeholder
-					$el.html('<img src="' + url + '" />');
-					$holder.removeClass('empty').show();
+					$field.val(url);
+					// We are saving the ID to make it easier
+					$( '#wp_format_image_id' ).val(id);
+					// show one preview at a time
+					mediaPreview('image', url, mime);
 				}
 			});
 
Index: wp-admin/css/wp-admin.css
===================================================================
--- wp-admin/css/wp-admin.css	(revision 23919)
+++ wp-admin/css/wp-admin.css	(working copy)
@@ -3179,6 +3179,7 @@
 	font-size: 1.2em;
 }
 
+.wp-format-image label,
 .wp-format-video label,
 .wp-format-audio label {
 	float: left;
@@ -3237,7 +3238,9 @@
 	margin: 5px 0;
 }
 
-#wp_format_audio, #wp_format_video {
+#wp_format_image,
+#wp_format_audio,
+#wp_format_video {
 	float: left;
 	margin-right: 23px;
 	max-width: 50%;
