{"id":37823,"date":"2025-06-30T07:00:00","date_gmt":"2025-06-30T14:00:00","guid":{"rendered":"https:\/\/cloudinary.com\/blog\/?p=37823"},"modified":"2025-06-26T10:32:24","modified_gmt":"2025-06-26T17:32:24","slug":"extracting-asset-data-bulk-migration","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration","title":{"rendered":"Extracting Asset Data for Bulk Migration to Cloudinary"},"content":{"rendered":"\n<p>Cloudinary supports multiple ways to <a href=\"https:\/\/cloudinary.com\/documentation\/migration\">migrate your visual media assets<\/a>. If you\u2019re doing a programmatic bulk asset migration using the <a href=\"https:\/\/cloudinary.com\/documentation\/migration#migration_script\">migration script<\/a>, this blog post offers a proven methodology to get it done (and done right).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Concept<\/h2>\n\n\n\n<p>You don\u2019t have to reinvent the wheel: Start by splitting your migration efforts into \u201cdata\u201d and \u201ctechnical\u201d parts.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Data. <\/strong>Your team extracts the asset\u2019s information into a data file from the system(s) of origin.<\/li>\n<\/ul>\n\n\n<div class='c-callout  c-callout--inline-title c-callout--note'><strong class='c-callout__title'>Note:<\/strong> <p>Driving the migration with a data file allows you to address any technical debt in a cost-efficient way, as well as provide detailed reports for the migrated assets.<\/p>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Technical. <\/strong>Use <a href=\"https:\/\/github.com\/cloudinary\/cld-migrate-assets-in-bulk\">customizable bulk migration tooling<\/a>.<\/li>\n<\/ul>\n\n\n<div class='c-callout  c-callout--inline-title c-callout--note'><strong class='c-callout__title'>Note:<\/strong> <p>The tool is released \u201cas is\u201d under MIT license. You are solely responsible for how you use it and the results it produces.<\/p>\n<\/div>\n\n\n<p>The steps and roles required to support both parts are covered below in more detail.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Asset Data Extraction and Validation<\/h2>\n\n\n\n<p>This, more often than not, ends up being an iterative process as quirks and inconsistencies are discovered and ironed out.<\/p>\n\n\n\n<p>Those closely familiar with the nuances of asset operations should own this process, such as a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Representative from the team<\/strong> who uses the asset in day-to-day operations to validate extracted data and provide guidance.<\/li>\n\n\n\n<li><strong>Representative from the IT team<\/strong> in charge of maintaining the current system hosting the assets to extract asset information.<\/li>\n<\/ul>\n\n\n\n<p>The outcome is a CSV data file that meets the following common sense considerations:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>There is one dedicated record (row) for each distinct asset.<\/li>\n\n\n\n<li>There is a designated column for each taxonomy property that needs to be assigned to the migrated asset in Cloudinary.\n<ul class=\"wp-block-list\">\n<li>Examples: Tags, DAM folder, category, alt text, etc.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>There is a column with a download link to the original version of the asset from a <a href=\"https:\/\/cloudinary.com\/documentation\/upload_parameters#required_file_parameter\">source supported by the Cloudinary Upload API<\/a>.<\/li>\n\n\n\n<li>Each distinct asset has a unique identifier (typically a file name) to be used as the public_id in Cloudinary, since it determines the <a href=\"https:\/\/cloudinary.com\/documentation\/image_transformations#transformation_url_structure\">asset delivery URL<\/a>.<\/li>\n<\/ul>\n\n\n\n<p>By having all asset records in one file at this point, your team can make sure that the asset taxonomy (e.g., metadata fields) uses consistent values, they can identify outdated assets early in the process, and more.<\/p>\n\n\n\n<p>This effort prevents accruing technical debt and losing operational efficiency due to inconsistencies, as your team will be using the migrated assets in business workflows.<\/p>\n\n\n\n<p>As an example,\u00a0below is what a data file might look like:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/v1750958816\/blog-Extracting_Asset_Data_for_Bulk_Migration_to_Cloudinary-1.png\" alt=\"\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Working With and Sharing Asset Data Files<\/h2>\n\n\n\n<p>Typically, your team will have a process to extract asset data as CSV files from the system of origin. Make sure to use the originally extracted CSV file when migrating.<\/p>\n\n\n\n<p>Spreadsheet applications, by default, attempt to \u201cguess\u201d the format of the values when opening a data file. For example, Jan-24 intended as an asset name can be converted to 1\/24\/2025. These automatic conversions usually occur \u201csilently\u201d and are almost impossible to notice.<\/p>\n\n\n\n<p>If using a spreadsheet app is necessary (e.g., to review the extracted asset data), make sure to use the app settings to prevent automatic format conversion.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Using Asset Data File for Bulk Migration<\/h2>\n\n\n\n<p>After the asset data file has been extracted and validated, the <a href=\"https:\/\/github.com\/cloudinary\/cld-migrate-assets-in-bulk\">customizable bulk migration tooling<\/a> can be used as a starting point to quickly finalize how to pass information to Cloudinary with each migrated asset.<\/p>\n\n\n\n<p>The tooling produces detailed records on migration of each asset. Below is an example of a migration report based on the previously used asset data file example:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/v1750958816\/blog-Extracting_Asset_Data_for_Bulk_Migration_to_Cloudinary-2.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>Where:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cld_Status.<\/strong> Indicates if the migration was successful (failed assets can then be retried).<\/li>\n\n\n\n<li><strong>Cld_Operation.<\/strong> Indicates if a new asset was created or a previously existing asset was overwritten.<\/li>\n\n\n\n<li><strong>Cld_Error.<\/strong> A technical issue that prevented the upload operation to migrate the asset.<\/li>\n\n\n\n<li><strong>Cld_Etag.<\/strong> The MD5 checksum (you can think of it as a \u201cdigital fingerprint\u201d) of the uploaded file contents, which can be used to identify duplicate assets.<\/li>\n<\/ul>\n\n\n\n<p>Records for those assets that failed to migrate can be filtered out from the report file and then used with the tooling again to re-attempt the migration after the root cause had been addressed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cloudinary Professional Services<\/h2>\n\n\n\n<p>Need help with complex asset migrations? Cloudinary offers implementation packages with <a href=\"https:\/\/cloudinary.com\/professional-services\">Professional Services<\/a>. Contact us today to learn more.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cloudinary supports multiple ways to migrate your visual media assets. If you\u2019re doing a programmatic bulk asset migration using the migration script, this blog post offers a proven methodology to get it done (and done right). Concept You don\u2019t have to reinvent the wheel: Start by splitting your migration efforts into \u201cdata\u201d and \u201ctechnical\u201d parts. [&hellip;]<\/p>\n","protected":false},"author":87,"featured_media":37824,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[25],"class_list":["post-37823","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-asset-management"],"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>Extracting Asset Data for Bulk Migration to Cloudinary<\/title>\n<meta name=\"description\" content=\"Cloudinary supports multiple ways to migrate your visual media assets. If you\u2019re doing a programmatic bulk asset migration using the migration script,\" \/>\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\/extracting-asset-data-bulk-migration\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Extracting Asset Data for Bulk Migration to Cloudinary\" \/>\n<meta property=\"og:description\" content=\"Cloudinary supports multiple ways to migrate your visual media assets. If you\u2019re doing a programmatic bulk asset migration using the migration script,\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-30T14:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749681834\/extracting_asset_info_bulk_upload-blog\/extracting_asset_info_bulk_upload-blog.jpg?_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\/jpeg\" \/>\n<meta name=\"author\" content=\"melindapham\" \/>\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\/extracting-asset-data-bulk-migration#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration\"},\"author\":{\"name\":\"melindapham\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9\"},\"headline\":\"Extracting Asset Data for Bulk Migration to Cloudinary\",\"datePublished\":\"2025-06-30T14:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration\"},\"wordCount\":662,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749681834\/extracting_asset_info_bulk_upload-blog\/extracting_asset_info_bulk_upload-blog.jpg?_i=AA\",\"keywords\":[\"Asset Management\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration\",\"url\":\"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration\",\"name\":\"Extracting Asset Data for Bulk Migration to Cloudinary\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749681834\/extracting_asset_info_bulk_upload-blog\/extracting_asset_info_bulk_upload-blog.jpg?_i=AA\",\"datePublished\":\"2025-06-30T14:00:00+00:00\",\"description\":\"Cloudinary supports multiple ways to migrate your visual media assets. If you\u2019re doing a programmatic bulk asset migration using the migration script,\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749681834\/extracting_asset_info_bulk_upload-blog\/extracting_asset_info_bulk_upload-blog.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749681834\/extracting_asset_info_bulk_upload-blog\/extracting_asset_info_bulk_upload-blog.jpg?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Extracting Asset Data for Bulk Migration to Cloudinary\"}]},{\"@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\/0d5ad601e4c3b5be89245dfb14be42d9\",\"name\":\"melindapham\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g\",\"caption\":\"melindapham\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Extracting Asset Data for Bulk Migration to Cloudinary","description":"Cloudinary supports multiple ways to migrate your visual media assets. If you\u2019re doing a programmatic bulk asset migration using the migration script,","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\/extracting-asset-data-bulk-migration","og_locale":"en_US","og_type":"article","og_title":"Extracting Asset Data for Bulk Migration to Cloudinary","og_description":"Cloudinary supports multiple ways to migrate your visual media assets. If you\u2019re doing a programmatic bulk asset migration using the migration script,","og_url":"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration","og_site_name":"Cloudinary Blog","article_published_time":"2025-06-30T14:00:00+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749681834\/extracting_asset_info_bulk_upload-blog\/extracting_asset_info_bulk_upload-blog.jpg?_i=AA","type":"image\/jpeg"}],"author":"melindapham","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration"},"author":{"name":"melindapham","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9"},"headline":"Extracting Asset Data for Bulk Migration to Cloudinary","datePublished":"2025-06-30T14:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration"},"wordCount":662,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749681834\/extracting_asset_info_bulk_upload-blog\/extracting_asset_info_bulk_upload-blog.jpg?_i=AA","keywords":["Asset Management"],"inLanguage":"en-US","copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration","url":"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration","name":"Extracting Asset Data for Bulk Migration to Cloudinary","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749681834\/extracting_asset_info_bulk_upload-blog\/extracting_asset_info_bulk_upload-blog.jpg?_i=AA","datePublished":"2025-06-30T14:00:00+00:00","description":"Cloudinary supports multiple ways to migrate your visual media assets. If you\u2019re doing a programmatic bulk asset migration using the migration script,","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749681834\/extracting_asset_info_bulk_upload-blog\/extracting_asset_info_bulk_upload-blog.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749681834\/extracting_asset_info_bulk_upload-blog\/extracting_asset_info_bulk_upload-blog.jpg?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/extracting-asset-data-bulk-migration#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Extracting Asset Data for Bulk Migration to Cloudinary"}]},{"@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\/0d5ad601e4c3b5be89245dfb14be42d9","name":"melindapham","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g","caption":"melindapham"}}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749681834\/extracting_asset_info_bulk_upload-blog\/extracting_asset_info_bulk_upload-blog.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/37823","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\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=37823"}],"version-history":[{"count":2,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/37823\/revisions"}],"predecessor-version":[{"id":37827,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/37823\/revisions\/37827"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/37824"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=37823"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=37823"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=37823"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}