{"id":26061,"date":"2022-12-13T09:46:37","date_gmt":"2022-12-13T16:46:37","guid":{"rendered":"https:\/\/cloudinary.com\/blog\/?p=26061"},"modified":"2025-02-25T15:31:37","modified_gmt":"2025-02-25T23:31:37","slug":"how-to-turn-360-panoramic-images-into-360-spin-sets","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets","title":{"rendered":"How to Turn 360 Panoramic Images Into 360 Spin Sets"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>A panoramic 360 image is a very wide image format that can be used to display a 360 degree view as seen from a single point. Some 360 panoramic images are created by special 360 cameras that can take a single image of the entire panorama, while others can be created by stitching together a series of images that overlap each other into a single image. These images may be used in different verticals such as showing off real estate, for showing the inside and outside of a property, and travel, for showing panoramic views of tourist destinations, cities, islands, mountain views, etc.<\/p>\n<p>360 spin sets, on the other hand, are normally used to showcase individual products as seen from different viewpoints, allowing the user to rotate the object in question about a central axis.<\/p>\n<p>But another use for the 360 spin set is for displaying 360 panoramic images that can also be rotated by a user, giving the effect to the user of turning in place while seeing the 360 view.<\/p>\n<div id=\"my-gallery1\" style=\"max-width:80%;margin:auto\">\n<\/div>\n<div><\/div>\n<h2>Creating Spin Sets With the Product Gallery<\/h2>\n<p>The Cloudinary Product Gallery has built-in support for displaying spin sets by automatically fetching all images with a particular tag and combining them into a single spin set, where each image is included as a single frame of the resulting 360 spin set. This makes it super easy to automate the process of creating spin sets with Cloudinary transformations.<\/p>\n<p>The following script takes a panoramic 360 image and generates a 360 spin set that can be easily viewed using Cloudinary\u2019s Product Gallery. The script creates and then uploads all the individual images that will be needed to display it as a single spin set. The script is written in Java, but uses very simple code and can be easily adapted to work with any of the Cloudinary SDKs.<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\">\n<span class=\"hljs-built_in\">String<\/span> folder = <span class=\"hljs-string\">\"panoramic\/\"<\/span>;\n<span class=\"hljs-built_in\">String<\/span> public_id = <span class=\"hljs-string\">\"clouds_pan\"<\/span>;\ndouble width = <span class=\"hljs-number\">0.4<\/span>;  \nint frames = <span class=\"hljs-number\">50<\/span>; \n\n<span class=\"hljs-built_in\">String<\/span> panPic = folder + public_id;\ndouble newWidth = width \/ (<span class=\"hljs-number\">1<\/span> + width);\n\n<span class=\"hljs-built_in\">String<\/span> frameNumber;\n<span class=\"hljs-built_in\">String<\/span> frameUrl;\n<span class=\"hljs-built_in\">String<\/span> newId;\n<span class=\"hljs-built_in\">Map<\/span> uploadParams;\ndouble xOffset;\n\n<span class=\"hljs-keyword\">for<\/span> (double i = frames; i &gt;= <span class=\"hljs-number\">0<\/span>; i--) {\n  xOffset = (<span class=\"hljs-number\">1<\/span> - newWidth) - ((i \/ frames) * (<span class=\"hljs-number\">1<\/span> - newWidth));\n  frameUrl = cloudinary.url()\n          .transformation(<span class=\"hljs-keyword\">new<\/span> Transformation()\n                  .overlay(<span class=\"hljs-keyword\">new<\/span> Layer()\n                          .publicId(panPic)).chain()\n                  .width(width)\n                  .height(<span class=\"hljs-number\">1.0<\/span>)\n                  .crop(<span class=\"hljs-string\">\"crop\"<\/span>)\n                  .gravity(<span class=\"hljs-string\">\"west\"<\/span>).chain()\n                  .flags(<span class=\"hljs-string\">\"layer_apply\"<\/span>)\n                  .gravity(<span class=\"hljs-string\">\"east\"<\/span>)\n                  .x(-panWidth).chain()\n                  .crop(<span class=\"hljs-string\">\"crop\"<\/span>)\n                  .width(newWidth)\n                  .height(<span class=\"hljs-number\">1.0<\/span>)\n                  .gravity(<span class=\"hljs-string\">\"west\"<\/span>)\n                  .x(xOffset)\n                  .y(<span class=\"hljs-number\">0<\/span>))\n          .generate(panPic);\n  frameNumber = <span class=\"hljs-built_in\">String<\/span>.valueOf(frames - i);\n  <span class=\"hljs-keyword\">if<\/span> (frames - i &lt; <span class=\"hljs-number\">10<\/span>){frameNumber = <span class=\"hljs-string\">\"0\"<\/span> + frameNumber;}\n  newId = public_id + <span class=\"hljs-string\">\"_\"<\/span> + frames + <span class=\"hljs-string\">\"f_\"<\/span> + width + <span class=\"hljs-string\">\"w\"<\/span>;\n  uploadParams = ObjectUtils.asMap(\n      <span class=\"hljs-string\">\"public_id\"<\/span>, <span class=\"hljs-string\">\"spinsets\/\"<\/span> + newId + frameNumber,\n      <span class=\"hljs-string\">\"tags\"<\/span>, newId\n  );\n  cloudinary.uploader().upload(frameUrl, uploadParams);\n}\n\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<h2>Create the Spin Set With the Script<\/h2>\n<p>The script uses the <code>public_id<\/code> of an uploaded panoramic 360 image. It generates all the images needed and uploads them to your Cloudinary account. Every sequential image is identified with a combination of the <code>public_id<\/code> and a sequential number, so that the order of the images will be preserved when displaying them in the Product Gallery. All the assets are also given the same <code>tag<\/code> when uploaded to enable the Product Gallery to fetch them all to display as a spin set.\nThe script needs to be updated with the correct <code>folder<\/code> and <code>public_id<\/code> of your uploaded panoramic 360 image, but it can also be customized by selecting new values for the <code>width<\/code> and <code>frames<\/code>.<\/p>\n<h3>Set the Width<\/h3>\n<p>The width of the generated 360 spin set images is defined by the <code>width<\/code> parameter in the script, and is given as a real number relative to the original panoramic image. So to create a spin set where the individual images are 40% of the width of the original uploaded 360 panoramic image, set the width parameter to <code>0.4<\/code>.<\/p>\n<p>The following gallery shows examples of 3 different spin sets created from the same panoramic image, the first with a width of 30% of the original, then 50% and lastly with 80%.<\/p>\n<div id=\"my-gallery2\" style=\"max-width:80%;margin:auto\">\n<\/div>\n<h3>Set the Number of Frames<\/h3>\n<p>The <code>frames<\/code> parameter in the script determines the number of individual images to be created by the script for the generated spin set. Selecting a higher number of frames will result in smaller changes between the individual images and a smoother scrolling experience when rotating the spin set.<\/p>\n<p>The following gallery shows examples of 3 different spin sets created from the same panoramic image, the first with 20 frames, then 50 frames, and lastly with 90 frames:<\/p>\n<div id=\"my-gallery3\" style=\"max-width:80%;margin:auto\">\n<\/div>\n<p>Of course, the more images that are generated, the larger the bandwidth required to deliver all the images to the end user.<\/p>\n<p>Another consideration is that the Product Gallery widget is also fully responsive to the available width, and requests images from Cloudinary that fit the width needed. This saves bandwidth by only delivering scaled down images depending on the user\u2019s view port (browser or mobile device). This may result in a large number of generated image files when displaying the spin sets in multiple view ports. So, if you want to limit the number of generated images, you can add the <code>imageBreakpoint<\/code> parameter to the code for displaying the Product Gallery, and select a larger value than every 100 pixels (the default).<\/p>\n<h2>Display the Spin Set With the Product Gallery Widget<\/h2>\n<p>All the Product Gallery needs in order to display spin sets is the <code>tag<\/code> that they all have in common. The Product Gallery then fetches all images with a that tag and combines them into a single entity, where each image is included as a single frame of the resulting 360 spin set, and sorted alphanumerically by their Public ID, which is why the script adds in the frame number to the public_id of the individual frames. The following code will render the Product Gallery and display the spin set of all images tagged with \u201croom360\u201d:<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\"><span class=\"hljs-keyword\">const<\/span> cloudName = <span class=\"hljs-string\">\"demo\"<\/span>; \n<span class=\"hljs-keyword\">const<\/span> myGallery = cloudinary.galleryWidget({\n<span class=\"hljs-attr\">container<\/span>: <span class=\"hljs-string\">\"#my-gallery\"<\/span>,\n<span class=\"hljs-attr\">cloudName<\/span>: cloudName,\n<span class=\"hljs-attr\">mediaAssets<\/span>: &#91;\n  { <span class=\"hljs-attr\">tag<\/span>: <span class=\"hljs-string\">\"room360\"<\/span>, <span class=\"hljs-attr\">mediaType<\/span>: <span class=\"hljs-string\">\"spin\"<\/span> } ],\n});\n\nmyGallery.render();\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p>See the <a href=\"https:\/\/cloudinary.com\/documentation\/product_gallery\">Product Gallery<\/a> documentation for more information on the Product Gallery and all the ways the gallery can be customized.<\/p>\n<h2>Summary<\/h2>\n<p>Displaying panoramic 360 images as interactive spin sets is a novel and engaging experience for your users. The beauty of 360 panoramic images is they can be broken up in a way that seamlessly joins the beginning of the image to the end, allowing the user to experience continuously turning in place. All widget, image transformation and delivery features discussed here are available with no extra charge for all Cloudinary\u2019s plans, including the <a href=\"https:\/\/cloudinary.com\/users\/register\/free\">free plan<\/a>.<\/p>\n<script src=\"https:\/\/product-gallery.cloudinary.com\/all.js\" type=\"text\/javascript\">\n<\/script> \n<script type=\"text\/javascript\"> \nconst myGallery1 = cloudinary.galleryWidget({\n container: \"#my-gallery1\",\n cloudName: \"demo\",\n aspectRatio: \"8:5\",\n mediaAssets: [\n   { tag: \"room_360-80\", mediaType: \"spin\" },\n   { tag: \"room360\" } \n ],\n});\n\nmyGallery1.render();\n\n\nconst myGallery2 = cloudinary.galleryWidget({\n container: \"#my-gallery2\",\n cloudName: \"demo\",\n mediaAssets: [\n   { tag: \"room_360-30\", mediaType: \"spin\" },\n   { tag: \"room_360-50\", mediaType: \"spin\" },\n   { tag: \"room_360-80\", mediaType: \"spin\" }   \n ],\n});\n\nmyGallery2.render();\n\nconst myGallery3 = cloudinary.galleryWidget({\n container: \"#my-gallery3\",\n cloudName: \"demo\",\n mediaAssets: [\n   { tag: \"clouds_pan_20f_0.3w\", mediaType: \"spin\" },\n   { tag: \"clouds_pan_50f_0.3w\", mediaType: \"spin\" },\n   { tag: \"clouds_pan_90f_0.3w\", mediaType: \"spin\" }   \n ],\n});\n\nmyGallery3.render();\n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":50,"featured_media":25935,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-26061","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Turn 360 Panoramic Images Into 360 Spin Sets<\/title>\n<meta name=\"description\" content=\"Allow users to interact with panoramic images by turning them into interactive 360 spin sets by using Cloudinary.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Turn 360 Panoramic Images Into 360 Spin Sets\" \/>\n<meta property=\"og:description\" content=\"Allow users to interact with panoramic images by turning them into interactive 360 spin sets by using Cloudinary.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-13T16:46:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-25T23:31:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1669832042\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset-png?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1100\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"meirfeinberg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets\"},\"author\":{\"name\":\"meirfeinberg\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/6e4a9c1be3c3f51710bd6171022a384d\"},\"headline\":\"How to Turn 360 Panoramic Images Into 360 Spin Sets\",\"datePublished\":\"2022-12-13T16:46:37+00:00\",\"dateModified\":\"2025-02-25T23:31:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets\"},\"wordCount\":8,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1669832042\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset.png?_i=AA\",\"inLanguage\":\"en-US\",\"copyrightYear\":\"2022\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets\",\"url\":\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets\",\"name\":\"How to Turn 360 Panoramic Images Into 360 Spin Sets\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1669832042\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset.png?_i=AA\",\"datePublished\":\"2022-12-13T16:46:37+00:00\",\"dateModified\":\"2025-02-25T23:31:37+00:00\",\"description\":\"Allow users to interact with panoramic images by turning them into interactive 360 spin sets by using Cloudinary.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1669832042\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1669832042\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset.png?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Turn 360 Panoramic Images Into 360 Spin Sets\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/6e4a9c1be3c3f51710bd6171022a384d\",\"name\":\"meirfeinberg\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/121cc23b13345b9eb98083b5f4b3ade7efdaff6adcebcfa417db501dda768844?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/121cc23b13345b9eb98083b5f4b3ade7efdaff6adcebcfa417db501dda768844?s=96&d=mm&r=g\",\"caption\":\"meirfeinberg\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Turn 360 Panoramic Images Into 360 Spin Sets","description":"Allow users to interact with panoramic images by turning them into interactive 360 spin sets by using Cloudinary.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets","og_locale":"en_US","og_type":"article","og_title":"How to Turn 360 Panoramic Images Into 360 Spin Sets","og_description":"Allow users to interact with panoramic images by turning them into interactive 360 spin sets by using Cloudinary.","og_url":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets","og_site_name":"Cloudinary Blog","article_published_time":"2022-12-13T16:46:37+00:00","article_modified_time":"2025-02-25T23:31:37+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1669832042\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset-png?_i=AA","type":"image\/png"}],"author":"meirfeinberg","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets"},"author":{"name":"meirfeinberg","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/6e4a9c1be3c3f51710bd6171022a384d"},"headline":"How to Turn 360 Panoramic Images Into 360 Spin Sets","datePublished":"2022-12-13T16:46:37+00:00","dateModified":"2025-02-25T23:31:37+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets"},"wordCount":8,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1669832042\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset.png?_i=AA","inLanguage":"en-US","copyrightYear":"2022","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets","url":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets","name":"How to Turn 360 Panoramic Images Into 360 Spin Sets","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1669832042\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset.png?_i=AA","datePublished":"2022-12-13T16:46:37+00:00","dateModified":"2025-02-25T23:31:37+00:00","description":"Allow users to interact with panoramic images by turning them into interactive 360 spin sets by using Cloudinary.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1669832042\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1669832042\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset.png?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/how-to-turn-360-panoramic-images-into-360-spin-sets#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Turn 360 Panoramic Images Into 360 Spin Sets"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/6e4a9c1be3c3f51710bd6171022a384d","name":"meirfeinberg","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/121cc23b13345b9eb98083b5f4b3ade7efdaff6adcebcfa417db501dda768844?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/121cc23b13345b9eb98083b5f4b3ade7efdaff6adcebcfa417db501dda768844?s=96&d=mm&r=g","caption":"meirfeinberg"}}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1669832042\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset\/Cld_Blog_FeatImg_Nov2k22_360-to-spinset.png?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/26061","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=26061"}],"version-history":[{"count":9,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/26061\/revisions"}],"predecessor-version":[{"id":37019,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/26061\/revisions\/37019"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/25935"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=26061"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=26061"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=26061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}