{"id":12463,"date":"2026-01-09T11:56:39","date_gmt":"2026-01-09T02:56:39","guid":{"rendered":"https:\/\/rakkoserver.com\/plus\/?p=12392"},"modified":"2026-01-09T11:56:39","modified_gmt":"2026-01-09T02:56:39","slug":"tool-image-to-url-converter","status":"publish","type":"post","link":"https:\/\/rakkokeyword.com\/techo\/tool-image-to-url-converter\/","title":{"rendered":"\u753b\u50cf\u2192URL\u5909\u63db\u30c4\u30fc\u30eb"},"content":{"rendered":"\n<!--\u5185\u90e8\u30ea\u30f3\u30af\u30bf\u30d6\u7528HTML\uff0bCSS-->\n<div class=\"tmp_link_area_tab\">\n  <div class=\"tmp_tab_container\">\n    <a href=\"\/techo\/tool-image-to-svg-converter\/\" class=\"tmp_tab_item tmp_tab_link\">\n      \u753b\u50cf \u21d2 SVG\n    <\/a>\n    <a href=\"\/techo\/tool-image-to-pdf-converter\/\" class=\"tmp_tab_item tmp_tab_link\">\n      \u753b\u50cf \u21d2 PDF\n    <\/a>\n    <a href=\"https:\/\/rakkokeyword.com\/techo\/tool-image-pixel-art-converter\/\" class=\"tmp_tab_item tmp_tab_link\" target=\"_blank\" rel=\"noopener noreferrer\">\n      \u753b\u50cf \u21d2 \u30c9\u30c3\u30c8\u7d75\n    <\/a>\n    <span class=\"tmp_tab_item tmp_tab_active\">\u753b\u50cf \u21d2 URL<\/span>\n  <\/div>\n<\/div>\n<style>\n.tmp_link_area_tab {\n  margin-bottom: 20px;\n  border-bottom: 1px solid #ccc;\n}\n.tmp_tab_container {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 5px;\n}\n.tmp_tab_item {\n  padding: 8px 12px;\n  font-size: 14px;\n  text-decoration: none;\n  border: 1px solid #ccc;\n  border-bottom: none;\n  border-radius: 4px 4px 0 0;\n  background-color: #f9f9f9;\n  color: #666;\n  display: block;\n  cursor: pointer;\n}\n.tmp_tab_link:hover {\n  background-color: #eee;\n}\n.tmp_tab_active {\n  background-color: #fff;\n  color: #333;\n  font-weight: bold;\n  border-bottom: 1px solid #fff;\n  margin-bottom: -1px;\n  pointer-events: none;\n}\n<\/style>\n\n<div id=\"imgToUrl-container\" style=\"width: 100%; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; color: #333;\">\n  <div id=\"imgToUrl-input-section\">\n    <div style=\"background: #f8f9fa; padding: 12px 16px; border-radius: 4px; margin-bottom: 20px; display: flex; align-items: center; gap: 10px;\">\n      <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#28a745\" stroke-width=\"2\" aria-hidden=\"true\">\n        <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\" \/>\n        <path d=\"M9 12l2 2 4-4\" \/>\n      <\/svg>\n      <span style=\"font-size: 14px; color: #555;\">\u5b89\u5fc3\u8a2d\u8a08\uff1a\u753b\u50cf\u306f\u304a\u5ba2\u69d8\u306e\u7aef\u672b\u5185\u3067\u51e6\u7406\u3055\u308c\u3001\u30b5\u30fc\u30d0\u30fc\u306b\u306f\u9001\u4fe1\u3055\u308c\u307e\u305b\u3093<\/span>\n    <\/div>\n\n    <div id=\"imgToUrl-upload-area\" role=\"button\" tabindex=\"0\" aria-label=\"\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u629e\" style=\"border: 2px dashed #ccc; border-radius: 8px; padding: 40px 20px; text-align: center; background: #fafafa; cursor: pointer; transition: all 0.3s; margin-bottom: 20px; position: relative;\">\n      <div id=\"imgToUrl-upload-initial\">\n        <svg width=\"48\" height=\"48\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#999\" stroke-width=\"2\" style=\"margin: 0 auto 12px;\" aria-hidden=\"true\">\n          <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" \/>\n          <polyline points=\"17 8 12 3 7 8\" \/>\n          <line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\" \/>\n        <\/svg>\n        <p style=\"margin: 0 0 8px; font-size: 16px; font-weight: 600; color: #333;\">\u753b\u50cf\u3092\u30c9\u30e9\u30c3\u30b0&amp;\u30c9\u30ed\u30c3\u30d7<\/p>\n        <p style=\"margin: 0 0 12px; font-size: 14px; color: #666;\">\u307e\u305f\u306f\u30af\u30ea\u30c3\u30af\u3057\u3066\u9078\u629e<\/p>\n        <p style=\"margin: 0 0 8px; font-size: 12px; color: #999;\">\u5bfe\u5fdc\u5f62\u5f0f: JPG, PNG, GIF, WEBP, SVG\uff08\u540420MB\u307e\u3067\u3001\u6700\u592710\u679a\uff09<\/p>\n      <\/div>\n      \n      <div id=\"imgToUrl-upload-selected\" style=\"display: none;\">\n        <svg width=\"48\" height=\"48\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#28a745\" stroke-width=\"2\" style=\"margin: 0 auto 12px;\" aria-hidden=\"true\">\n          <path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\" \/>\n          <polyline points=\"22 4 12 14.01 9 11.01\" \/>\n        <\/svg>\n        <p style=\"margin: 0 0 8px; font-size: 18px; font-weight: 700; color: #28a745;\"><span id=\"imgToUrl-file-count\">0<\/span>\u679a\u9078\u629e\u6e08<\/p>\n        <p style=\"margin: 0 0 12px; font-size: 14px; color: #666;\" id=\"imgToUrl-file-names\"><\/p>\n        <p style=\"margin: 0; font-size: 13px; color: #999;\" id=\"imgToUrl-add-more-text\">\u30af\u30ea\u30c3\u30af\u3067\u3055\u3089\u306b\u8ffd\u52a0\uff08\u6700\u592710\u679a\uff09<\/p>\n      <\/div>\n      \n      <input type=\"file\" id=\"imgToUrl-file-input\" accept=\"image\/*\" multiple style=\"display: none;\" aria-label=\"\u30d5\u30a1\u30a4\u30eb\u9078\u629e\">\n    <\/div>\n\n    <button id=\"imgToUrl-process-btn\" disabled aria-label=\"URL\u5909\u63db\u3092\u958b\u59cb\" style=\"width: 100%; padding: 16px; background: #ccc; color: white; border: none; border-radius: 6px; font-size: 16px; font-weight: 600; cursor: not-allowed; margin-bottom: 20px; height: 48px;\">\n      \u753b\u50cf\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\n    <\/button>\n\n    <div id=\"imgToUrl-progress\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-valuenow=\"0\" style=\"display: none; margin-bottom: 20px;\">\n      <div style=\"background: #f0f0f0; border-radius: 10px; overflow: hidden; height: 20px; position: relative;\">\n        <div id=\"imgToUrl-progress-bar\" style=\"background: #13284B; height: 100%; width: 0%; transition: width 0.3s;\"><\/div>\n        <span id=\"imgToUrl-progress-text\" style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 12px; color: #333; font-weight: 600;\"><\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div id=\"imgToUrl-summary\" role=\"status\" aria-live=\"polite\" style=\"display: none; background: #e7f5e7; padding: 20px; border-radius: 8px; margin-bottom: 20px; text-align: center;\">\n    <p style=\"margin: 0 0 8px; font-size: 24px; font-weight: 700; color: #28a745;\" id=\"imgToUrl-summary-text\"><\/p>\n    <p style=\"margin: 0; font-size: 14px; color: #666;\">\u5909\u63db\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f<\/p>\n  <\/div>\n\n  <div id=\"imgToUrl-actions\" style=\"display: none; margin-bottom: 20px; gap: 12px; flex-wrap: wrap;\">\n    <button id=\"imgToUrl-new-conversion\" aria-label=\"\u65b0\u3057\u3044\u753b\u50cf\u3092\u5909\u63db\" style=\"flex: 1; min-width: 200px; padding: 14px; background: #13284B; color: white; border: none; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; height: 48px;\">\n      \u65b0\u3057\u3044\u753b\u50cf\u3092\u5909\u63db\n    <\/button>\n  <\/div>\n\n  <div id=\"imgToUrl-results\" role=\"region\" aria-label=\"\u5909\u63db\u7d50\u679c\" style=\"display: none;\"><\/div>\n<\/div>\n\n<style>\n#imgToUrl-upload-area:hover {\n  border-color: #13284B;\n  background: #f0f8ff;\n}\n\n#imgToUrl-upload-area.has-files {\n  border-color: #28a745;\n  background: #f0fdf4;\n}\n\n.imgToUrl-result-item {\n  background: white;\n  border: 1px solid #e0e0e0;\n  border-radius: 6px;\n  padding: 16px;\n  margin-bottom: 12px;\n}\n\n.imgToUrl-thumbnail {\n  width: 100px;\n  height: 100px;\n  object-fit: cover;\n  border-radius: 4px;\n  border: 1px solid #e0e0e0;\n  flex-shrink: 0;\n  display: block;\n  margin: 0 auto 12px;\n}\n\n.imgToUrl-url-box {\n  background: #f8f9fa;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  padding: 12px;\n  margin: 12px 0;\n  word-break: break-all;\n  font-family: 'Courier New', monospace;\n  font-size: 12px;\n  color: #333;\n  max-height: 150px;\n  overflow-y: auto;\n  position: relative;\n}\n\n.imgToUrl-copy-btn {\n  padding: 8px 16px;\n  background: #13284B;\n  color: white;\n  border: none;\n  border-radius: 4px;\n  font-size: 13px;\n  cursor: pointer;\n  white-space: nowrap;\n  height: 40px;\n  min-width: 100px;\n}\n\n.imgToUrl-copy-btn:hover {\n  background: #0d1d35;\n}\n\n.imgToUrl-copy-btn:disabled {\n  background: #ccc;\n  cursor: not-allowed;\n}\n\n.imgToUrl-copy-btn.copied {\n  background: #28a745;\n}\n\n@media (max-width: 768px) {\n  .imgToUrl-result-item {\n    padding: 12px;\n  }\n  \n  .imgToUrl-url-box {\n    font-size: 11px;\n    padding: 10px;\n  }\n}\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n  const IMGTOURL_MAX_FILE_SIZE = 20 * 1024 * 1024;\n  const IMGTOURL_MAX_FILES = 10;\n  const IMGTOURL_VALID_TYPES = ['image\/jpeg', 'image\/png', 'image\/gif', 'image\/webp', 'image\/svg+xml'];\n  const IMGTOURL_BLOCKED_EXTENSIONS = ['heic', 'heif', 'heics', 'heifs'];\n  const IMGTOURL_ALLOWED_EXTENSIONS = ['jpg', 'jpeg', 'jpe', 'jfif', 'png', 'gif', 'webp', 'svg'];\n\n  const imgToUrlState = {\n    files: [],\n    processedFiles: [],\n    objectUrls: [],\n    isProcessing: false,\n    lastProcessTime: 0\n  };\n\n  const imgToUrlElements = {\n    inputSection: document.getElementById('imgToUrl-input-section'),\n    uploadArea: document.getElementById('imgToUrl-upload-area'),\n    uploadInitial: document.getElementById('imgToUrl-upload-initial'),\n    uploadSelected: document.getElementById('imgToUrl-upload-selected'),\n    fileCount: document.getElementById('imgToUrl-file-count'),\n    fileNames: document.getElementById('imgToUrl-file-names'),\n    addMoreText: document.getElementById('imgToUrl-add-more-text'),\n    fileInput: document.getElementById('imgToUrl-file-input'),\n    processBtn: document.getElementById('imgToUrl-process-btn'),\n    progress: document.getElementById('imgToUrl-progress'),\n    progressBar: document.getElementById('imgToUrl-progress-bar'),\n    progressText: document.getElementById('imgToUrl-progress-text'),\n    summary: document.getElementById('imgToUrl-summary'),\n    summaryText: document.getElementById('imgToUrl-summary-text'),\n    results: document.getElementById('imgToUrl-results'),\n    actions: document.getElementById('imgToUrl-actions'),\n    newConversion: document.getElementById('imgToUrl-new-conversion')\n  };\n\n  function imgToUrlCleanupUrls() {\n    imgToUrlState.objectUrls.forEach(function(url) {\n      try {\n        URL.revokeObjectURL(url);\n      } catch (e) {\n        \/\/ \u30a8\u30e9\u30fc\u3092\u7121\u8996\n      }\n    });\n    imgToUrlState.objectUrls = [];\n  }\n\n  window.addEventListener('beforeunload', function() {\n    imgToUrlCleanupUrls();\n  });\n\n  function imgToUrlUpdateUploadArea() {\n    if (imgToUrlState.files.length > 0) {\n      imgToUrlElements.uploadInitial.style.display = 'none';\n      imgToUrlElements.uploadSelected.style.display = 'block';\n      imgToUrlElements.uploadArea.classList.add('has-files');\n      imgToUrlElements.fileCount.textContent = imgToUrlState.files.length;\n\n      const displayNames = imgToUrlState.files.slice(0, 3).map(function(f) {\n        return f.name;\n      });\n      let namesText = displayNames.join(', ');\n      if (imgToUrlState.files.length > 3) {\n        namesText += ' \u4ed6' + (imgToUrlState.files.length - 3) + '\u4ef6';\n      }\n      imgToUrlElements.fileNames.textContent = namesText;\n\n      if (imgToUrlState.files.length >= IMGTOURL_MAX_FILES) {\n        imgToUrlElements.addMoreText.textContent = '\uff08\u6700\u5927\u679a\u6570\u306b\u9054\u3057\u307e\u3057\u305f\uff09';\n        imgToUrlElements.addMoreText.style.color = '#dc3545';\n      } else {\n        imgToUrlElements.addMoreText.textContent = '\u30af\u30ea\u30c3\u30af\u3067\u3055\u3089\u306b\u8ffd\u52a0\uff08\u6700\u5927' + IMGTOURL_MAX_FILES + '\u679a\uff09';\n        imgToUrlElements.addMoreText.style.color = '#999';\n      }\n    } else {\n      imgToUrlElements.uploadInitial.style.display = 'block';\n      imgToUrlElements.uploadSelected.style.display = 'none';\n      imgToUrlElements.uploadArea.classList.remove('has-files');\n    }\n  }\n\n  imgToUrlElements.uploadArea.addEventListener('click', function() {\n    imgToUrlElements.fileInput.click();\n  });\n\n  imgToUrlElements.uploadArea.addEventListener('keydown', function(e) {\n    if (e.key === 'Enter' || e.key === ' ') {\n      e.preventDefault();\n      imgToUrlElements.fileInput.click();\n    }\n  });\n\n  imgToUrlElements.uploadArea.addEventListener('dragover', function(e) {\n    e.preventDefault();\n    this.style.borderColor = '#13284B';\n    if (!this.classList.contains('has-files')) {\n      this.style.background = '#e7f0ff';\n    }\n  });\n\n  imgToUrlElements.uploadArea.addEventListener('dragleave', function(e) {\n    e.preventDefault();\n    this.style.borderColor = imgToUrlState.files.length > 0 ? '#28a745' : '#ccc';\n    if (!this.classList.contains('has-files')) {\n      this.style.background = '#fafafa';\n    } else {\n      this.style.background = '#f0fdf4';\n    }\n  });\n\n  imgToUrlElements.uploadArea.addEventListener('drop', function(e) {\n    e.preventDefault();\n    this.style.borderColor = '#28a745';\n    this.style.background = '#f0fdf4';\n\n    const files = Array.from(e.dataTransfer.files);\n    imgToUrlHandleFiles(files);\n  });\n\n  imgToUrlElements.fileInput.addEventListener('change', function() {\n    const files = Array.from(this.files);\n    imgToUrlHandleFiles(files);\n  });\n\n  function imgToUrlValidateFile(file) {\n    const fileName = file.name || '';\n\n    if (!fileName || fileName.trim() === '') {\n      return { valid: false, error: '\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u4e0d\u6b63\u3067\u3059' };\n    }\n\n    const lowerFileName = fileName.toLowerCase();\n    const nameParts = lowerFileName.split('.');\n    const fileExt = nameParts.length > 1 ? nameParts[nameParts.length - 1] : '';\n\n    if (!fileExt) {\n      return { valid: false, error: '\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u304c\u3042\u308a\u307e\u305b\u3093' };\n    }\n\n    if (IMGTOURL_BLOCKED_EXTENSIONS.indexOf(fileExt) !== -1) {\n      return { \n        valid: false, \n        error: 'HEIC\/HEIF\u5f62\u5f0f\u306b\u306f\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u305b\u3093\u3002iPhone\u306e\u8a2d\u5b9a\uff1e\u30ab\u30e1\u30e9\uff1e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3067\u300c\u4e92\u63db\u6027\u512a\u5148\u300d\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044' \n      };\n    }\n\n    if (IMGTOURL_ALLOWED_EXTENSIONS.indexOf(fileExt) === -1) {\n      return { valid: false, error: '\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u62e1\u5f35\u5b50\u3067\u3059\uff08.' + fileExt + '\uff09' };\n    }\n\n    if (file.type && IMGTOURL_VALID_TYPES.indexOf(file.type) === -1) {\n      if (file.type.indexOf('image\/') !== 0) {\n        return { valid: false, error: '\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3067\u306f\u3042\u308a\u307e\u305b\u3093\uff08' + file.type + '\uff09' };\n      }\n    }\n\n    if (file.size > IMGTOURL_MAX_FILE_SIZE) {\n      return { \n        valid: false, \n        error: '\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\u304c20MB\u3092\u8d85\u3048\u3066\u3044\u307e\u3059\uff08' + Math.round(file.size \/ 1024 \/ 1024 * 10) \/ 10 + 'MB\uff09' \n      };\n    }\n\n    if (file.size === 0) {\n      return { valid: false, error: '\u30d5\u30a1\u30a4\u30eb\u304c\u7a7a\u3067\u3059' };\n    }\n\n    if (fileName.length > 255) {\n      return { valid: false, error: '\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u9577\u3059\u304e\u307e\u3059\uff08255\u6587\u5b57\u4ee5\u5185\uff09' };\n    }\n\n    return { valid: true };\n  }\n\n  function imgToUrlHandleFiles(files) {\n    const validationResults = files.map(function(file) {\n      return {\n        file: file,\n        validation: imgToUrlValidateFile(file)\n      };\n    });\n\n    const validFiles = validationResults.filter(function(r) {\n      return r.validation.valid;\n    }).map(function(r) {\n      return r.file;\n    });\n\n    const invalidFiles = validationResults.filter(function(r) {\n      return !r.validation.valid;\n    });\n\n    if (validFiles.length === 0) {\n      if (invalidFiles.length > 0) {\n        const errorMsg = invalidFiles[0].file.name + '\\n' + invalidFiles[0].validation.error;\n        alert('\u6709\u52b9\u306a\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\\n\\n' + errorMsg + '\\n\\n\u5bfe\u5fdc\u5f62\u5f0f: JPG, PNG, GIF, WEBP, SVG\uff08\u540420MB\u307e\u3067\uff09');\n      } else {\n        alert('\u6709\u52b9\u306a\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\\n\u5bfe\u5fdc\u5f62\u5f0f: JPG, PNG, GIF, WEBP, SVG\uff08\u540420MB\u307e\u3067\uff09');\n      }\n      return;\n    }\n\n    if (invalidFiles.length > 0 && validFiles.length > 0) {\n      const errorMessages = invalidFiles.slice(0, 3).map(function(r) {\n        return r.file.name + ': ' + r.validation.error;\n      }).join('\\n');\n      let skipMsg = invalidFiles.length + '\u4ef6\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3057\u305f:\\n\\n' + errorMessages;\n      if (invalidFiles.length > 3) {\n        skipMsg += '\\n\\n\u4ed6' + (invalidFiles.length - 3) + '\u4ef6';\n      }\n      alert(skipMsg);\n    }\n\n    const existingFileMap = new Map();\n    imgToUrlState.files.forEach(function(file) {\n      existingFileMap.set(file.name, file);\n    });\n\n    validFiles.forEach(function(file) {\n      existingFileMap.set(file.name, file);\n    });\n\n    let allFiles = Array.from(existingFileMap.values());\n\n    if (allFiles.length > IMGTOURL_MAX_FILES) {\n      alert('\u753b\u50cf\u306f\u6700\u5927' + IMGTOURL_MAX_FILES + '\u679a\u307e\u3067\u3067\u3059\u3002\u5148\u982d' + IMGTOURL_MAX_FILES + '\u679a\u306e\u307f\u51e6\u7406\u3057\u307e\u3059\u3002');\n      allFiles = allFiles.slice(0, IMGTOURL_MAX_FILES);\n    }\n\n    imgToUrlState.files = allFiles;\n    imgToUrlUpdateUploadArea();\n\n    imgToUrlElements.processBtn.disabled = false;\n    imgToUrlElements.processBtn.style.background = '#13284B';\n    imgToUrlElements.processBtn.style.cursor = 'pointer';\n    imgToUrlElements.processBtn.textContent = allFiles.length + '\u679a\u306e\u753b\u50cf\u3092URL\u5909\u63db\u3059\u308b';\n\n    imgToUrlElements.summary.style.display = 'none';\n    imgToUrlElements.results.style.display = 'none';\n    imgToUrlElements.actions.style.display = 'none';\n\n    imgToUrlElements.fileInput.value = '';\n  }\n\n  imgToUrlElements.processBtn.addEventListener('click', function() {\n    if (imgToUrlState.files.length === 0 || imgToUrlState.isProcessing) return;\n\n    const now = Date.now();\n    if (now - imgToUrlState.lastProcessTime < 1000) {\n      return;\n    }\n    imgToUrlState.lastProcessTime = now;\n\n    imgToUrlProcessImages();\n  });\n\n  async function imgToUrlProcessImages() {\n    imgToUrlState.isProcessing = true;\n    imgToUrlCleanupUrls();\n    imgToUrlElements.processBtn.disabled = true;\n    imgToUrlElements.progress.style.display = 'block';\n    imgToUrlElements.summary.style.display = 'none';\n    imgToUrlElements.results.style.display = 'none';\n    imgToUrlElements.actions.style.display = 'none';\n\n    imgToUrlState.processedFiles = [];\n\n    for (let i = 0; i < imgToUrlState.files.length; i++) {\n      const file = imgToUrlState.files[i];\n      const progress = Math.round(((i + 1) \/ imgToUrlState.files.length) * 100);\n      imgToUrlElements.progressBar.style.width = progress + '%';\n      imgToUrlElements.progressText.textContent = '\u5909\u63db\u4e2d ' + (i + 1) + '\/' + imgToUrlState.files.length;\n      imgToUrlElements.progress.setAttribute('aria-valuenow', progress);\n\n      try {\n        const blobUrl = URL.createObjectURL(file);\n        const previewUrl = URL.createObjectURL(file);\n\n        imgToUrlState.processedFiles.push({\n          name: file.name,\n          blobUrl: blobUrl,\n          previewUrl: previewUrl,\n          fileSize: file.size,\n          fileType: file.type || 'unknown',\n          error: false\n        });\n\n        imgToUrlState.objectUrls.push(blobUrl);\n        imgToUrlState.objectUrls.push(previewUrl);\n      } catch (error) {\n        imgToUrlState.processedFiles.push({\n          name: file.name,\n          error: true,\n          errorMessage: 'URL\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f: ' + (error.message || '\u4e0d\u660e\u306a\u30a8\u30e9\u30fc')\n        });\n      }\n    }\n\n    setTimeout(function() {\n      imgToUrlElements.progress.style.display = 'none';\n      imgToUrlShowResults();\n      imgToUrlState.isProcessing = false;\n    }, 300);\n  }\n\n  function imgToUrlShowResults() {\n    imgToUrlElements.inputSection.style.display = 'none';\n\n    const successCount = imgToUrlState.processedFiles.filter(function(f) {\n      return !f.error;\n    }).length;\n\n    imgToUrlElements.summaryText.textContent = successCount + '\u679a\u306e\u753b\u50cf\u3092URL\u5909\u63db\u3057\u307e\u3057\u305f';\n    imgToUrlElements.summary.style.display = 'block';\n    imgToUrlElements.actions.style.display = 'flex';\n\n    let resultsHtml = '<p style=\"margin: 0 0 12px; font-size: 16px; font-weight: 600; color: #333;\">\u5909\u63db\u7d50\u679c<\/p>';\n\n    imgToUrlState.processedFiles.forEach(function(file, index) {\n      if (file.error) {\n        resultsHtml += '<div class=\"imgToUrl-result-item\"><p style=\"margin: 0 0 4px; font-size: 14px; font-weight: 600; color: #333;\">' + imgToUrlEscapeHtml(file.name) + '<\/p><p style=\"margin: 0; font-size: 13px; color: #dc3545;\">\u30a8\u30e9\u30fc: ' + imgToUrlEscapeHtml(file.errorMessage) + '<\/p><\/div>';\n      } else {\n        const urlToShow = file.blobUrl;\n        const urlLength = urlToShow ? urlToShow.length : 0;\n\n        resultsHtml += '<div class=\"imgToUrl-result-item\">';\n        resultsHtml += '<img decoding=\"async\" src=\"' + imgToUrlEscapeHtml(file.previewUrl) + '\" class=\"imgToUrl-thumbnail\" alt=\"\u30d7\u30ec\u30d3\u30e5\u30fc\">';\n        resultsHtml += '<p style=\"margin: 0 0 8px; font-size: 14px; font-weight: 600; color: #333;\">' + imgToUrlEscapeHtml(file.name) + '<\/p>';\n        resultsHtml += '<p style=\"margin: 0 0 12px; font-size: 12px; color: #666;\">\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba: ' + imgToUrlFormatSize(file.fileSize) + ' | URL\u9577: ' + urlLength.toLocaleString() + '\u6587\u5b57<\/p>';\n        resultsHtml += '<p style=\"margin: 0 0 4px; font-size: 13px; font-weight: 600; color: #333;\">Blob URL<\/p>';\n        resultsHtml += '<div class=\"imgToUrl-url-box\" id=\"imgToUrl-url-' + index + '\" role=\"textbox\" aria-label=\"Blob URL\" tabindex=\"0\">' + imgToUrlEscapeHtml(urlToShow) + '<\/div>';\n        resultsHtml += '<button class=\"imgToUrl-copy-btn\" data-index=\"' + index + '\" aria-label=\"URL\u3092\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc\" style=\"width: 100%;\">URL\u3092\u30b3\u30d4\u30fc<\/button>';\n        resultsHtml += '<\/div>';\n      }\n    });\n\n    imgToUrlElements.results.innerHTML = resultsHtml;\n    imgToUrlElements.results.style.display = 'block';\n\n    document.querySelectorAll('.imgToUrl-copy-btn').forEach(function(btn) {\n      btn.addEventListener('click', function() {\n        const index = parseInt(this.dataset.index);\n        imgToUrlCopyToClipboard(index, this);\n      });\n    });\n  }\n\n  async function imgToUrlCopyToClipboard(index, button) {\n    const file = imgToUrlState.processedFiles[index];\n    if (file.error) return;\n\n    const urlToCopy = file.blobUrl;\n\n    button.disabled = true;\n\n    if (navigator.clipboard && navigator.clipboard.writeText) {\n      try {\n        await navigator.clipboard.writeText(urlToCopy);\n        button.textContent = '\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f\uff01';\n        button.classList.add('copied');\n        button.setAttribute('aria-live', 'polite');\n        setTimeout(function() {\n          button.textContent = 'URL\u3092\u30b3\u30d4\u30fc';\n          button.classList.remove('copied');\n          button.disabled = false;\n          button.removeAttribute('aria-live');\n        }, 2000);\n        return;\n      } catch (err) {\n        \/\/ \u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af\u51e6\u7406\u3078\n      }\n    }\n\n    const textarea = document.createElement('textarea');\n    textarea.value = urlToCopy;\n    textarea.style.position = 'fixed';\n    textarea.style.opacity = '0';\n    textarea.style.top = '0';\n    textarea.style.left = '0';\n    document.body.appendChild(textarea);\n    textarea.select();\n    textarea.setSelectionRange(0, textarea.value.length);\n\n    try {\n      const successful = document.execCommand('copy');\n      if (successful) {\n        button.textContent = '\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f\uff01';\n        button.classList.add('copied');\n        setTimeout(function() {\n          button.textContent = 'URL\u3092\u30b3\u30d4\u30fc';\n          button.classList.remove('copied');\n          button.disabled = false;\n        }, 2000);\n      } else {\n        throw new Error('Copy failed');\n      }\n    } catch (err) {\n      alert('\u30b3\u30d4\u30fc\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u624b\u52d5\u3067\u30b3\u30d4\u30fc\u3057\u3066\u304f\u3060\u3055\u3044\u3002');\n      button.disabled = false;\n    }\n\n    document.body.removeChild(textarea);\n  }\n\n  imgToUrlElements.newConversion.addEventListener('click', function() {\n    if (imgToUrlState.isProcessing) return;\n\n    imgToUrlCleanupUrls();\n    imgToUrlState.files = [];\n    imgToUrlState.processedFiles = [];\n\n    imgToUrlElements.inputSection.style.display = 'block';\n    imgToUrlElements.processBtn.disabled = true;\n    imgToUrlElements.processBtn.style.background = '#ccc';\n    imgToUrlElements.processBtn.style.cursor = 'not-allowed';\n    imgToUrlElements.processBtn.textContent = '\u753b\u50cf\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044';\n    imgToUrlElements.summary.style.display = 'none';\n    imgToUrlElements.results.style.display = 'none';\n    imgToUrlElements.actions.style.display = 'none';\n    imgToUrlUpdateUploadArea();\n\n    window.scrollTo({ top: 0, behavior: 'smooth' });\n  });\n\n  function imgToUrlFormatSize(bytes) {\n    if (bytes === 0) return '0 B';\n    const k = 1024;\n    const sizes = ['B', 'KB', 'MB'];\n    const i = Math.floor(Math.log(bytes) \/ Math.log(k));\n    return Math.round((bytes \/ Math.pow(k, i)) * 100) \/ 10 + ' ' + sizes[i];\n  }\n\n  function imgToUrlEscapeHtml(text) {\n    if (!text) return '';\n    const div = document.createElement('div');\n    div.textContent = String(text);\n    return div.innerHTML;\n  }\n});\n<\/script>\n\n\n\n<p>\u304a\u624b\u6301\u3061\u306e\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3092\u30c9\u30e9\u30c3\u30b0\uff06\u30c9\u30ed\u30c3\u30d7\u3059\u308b\u3060\u3051\u3067\u3001\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u3059\u3050\u306b\u4f7f\u3048\u308b\u300cBlob URL\u300d\u3092\u767a\u884c\u3067\u304d\u308b\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u4e0d\u8981\u306e\u7121\u6599WEB\u30c4\u30fc\u30eb\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-0\">\u3053\u306e\u30c4\u30fc\u30eb\u3067\u3067\u304d\u308b\u3053\u3068<\/h2>\n\n\n\n<p>\u3053\u306e\u30c4\u30fc\u30eb\u306f\u3001JPG\u3084PNG\u306a\u3069\u306e\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3092\u3001\u30d6\u30e9\u30a6\u30b6\u304c\u4e00\u6642\u7684\u306b\u53c2\u7167\u3067\u304d\u308b\u300cBlob URL\uff08\u4f8b\uff1ablob:https:\/\/\u2026\uff09\u300d\u306b\u5909\u63db\u30fb\u767a\u884c\u3057\u307e\u3059\u3002\u4e3b\u306a\u7279\u5fb4\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Blob URL\u306e\u5373\u6642\u767a\u884c<\/strong> \u30ed\u30fc\u30ab\u30eb\u306b\u3042\u308b\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3092\u3001\u30b5\u30fc\u30d0\u30fc\u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u3053\u3068\u306a\u304f\u3001\u30d6\u30e9\u30a6\u30b6\u3067\u8868\u793a\u53ef\u80fd\u306aURL\u5f62\u5f0f\u306b\u5909\u63db\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u5b8c\u5168\u306a\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc\u4fdd\u8b77<\/strong> \u753b\u50cf\u306f\u30b5\u30fc\u30d0\u30fc\u306b\u9001\u4fe1\u3055\u308c\u305a\u3001\u3059\u3079\u3066\u304a\u5ba2\u69d8\u306e\u30d6\u30e9\u30a6\u30b6\uff08\u7aef\u672b\u5185\uff09\u3067\u51e6\u7406\u3055\u308c\u307e\u3059\u3002\u793e\u5916\u79d8\u306e\u753b\u50cf\u3084\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u306a\u5199\u771f\u3067\u3082\u5b89\u5fc3\u3057\u3066\u3054\u5229\u7528\u3044\u305f\u3060\u3051\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u4e00\u62ec\u5909\u63db\u306b\u5bfe\u5fdc<\/strong> \u6700\u592710\u679a\u3001\u540420MB\u307e\u3067\u306e\u753b\u50cf\u3092\u4e00\u62ec\u3067\u8aad\u307f\u8fbc\u307f\u3001\u305d\u308c\u305e\u308c\u306eURL\u3092\u53d6\u5f97\u53ef\u80fd\u3067\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-1\">\u3053\u306e\u30c4\u30fc\u30eb\u306e\u4f7f\u3044\u65b9<\/h2>\n\n\n\n<p>\u9762\u5012\u306a\u767b\u9332\u3084\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u4e00\u5207\u4e0d\u8981\u3067\u3059\u3002\u4ee5\u4e0b\u306e3\u30b9\u30c6\u30c3\u30d7\u3067\u7c21\u5358\u306b\u3054\u5229\u7528\u3044\u305f\u3060\u3051\u307e\u3059\u3002<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u753b\u50cf\u3092\u9078\u629e\u3059\u308b<\/strong> URL\u306b\u5909\u63db\u3057\u305f\u3044\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3092\u3001\u70b9\u7dda\u306e\u67a0\u5185\u306b\u30c9\u30e9\u30c3\u30b0\uff06\u30c9\u30ed\u30c3\u30d7\u3059\u308b\u304b\u3001\u30af\u30ea\u30c3\u30af\u3057\u3066\u30d5\u30a9\u30eb\u30c0\u304b\u3089\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\uff08\u5bfe\u5fdc\u5f62\u5f0f\uff1aJPG, PNG, GIF, WEBP, SVG\uff09<\/li>\n\n\n\n<li><strong>\u5909\u63db\u3055\u308c\u305fURL\u3092\u78ba\u8a8d<\/strong> \u753b\u50cf\u304c\u8aad\u307f\u8fbc\u307e\u308c\u308b\u3068\u3001\u81ea\u52d5\u7684\u306bBlob URL\u304c\u751f\u6210\u3055\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30b3\u30d4\u30fc\u3057\u3066\u5229\u7528\u3059\u308b<\/strong> \u8868\u793a\u3055\u308c\u305fURL\u3092\u30b3\u30d4\u30fc\u3057\u3066\u3001\u30d6\u30e9\u30a6\u30b6\u306e\u65b0\u3057\u3044\u30bf\u30d6\u3067\u30d7\u30ec\u30d3\u30e5\u30fc\u3057\u305f\u308a\u3001\u958b\u767a\u4e2d\u306e\u30b3\u30fc\u30c9\u306e <code>src<\/code> \u5c5e\u6027\u306b\u8cbc\u308a\u4ed8\u3051\u3066\u52d5\u4f5c\u78ba\u8a8d\u306b\u3054\u5229\u7528\u304f\u3060\u3055\u3044\u3002<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-2\">\u30c4\u30fc\u30eb\u3067\u53d6\u5f97\u3059\u308b\u60c5\u5831\u306e\u57fa\u790e\u77e5\u8b58\uff1aBlob URL\u3068\u306f\uff1f<\/h2>\n\n\n\n<p><strong>Blob URL\uff08\u30d6\u30ed\u30d6URL \/ \u30aa\u30d6\u30b8\u30a7\u30af\u30c8URL\uff09<\/strong>\u3068\u306f\u3001\u30d6\u30e9\u30a6\u30b6\u306e\u30e1\u30e2\u30ea\u4e0a\u306b\u4e00\u6642\u7684\u306b\u4fdd\u5b58\u3055\u308c\u305f\u30c7\u30fc\u30bf\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u305f\u3081\u306e\u3001\u7279\u6b8a\u306aURL\u306e\u3053\u3068\u3067\u3059\u3002 <code>blob:<\/code> \u304b\u3089\u59cb\u307e\u308b\u6587\u5b57\u5217\u3067\u69cb\u6210\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u306eURL\u306f\u3001<strong>\u300c\u305d\u306e\u30da\u30fc\u30b8\u3092\u958b\u3044\u3066\u3044\u308b\u30d6\u30e9\u30a6\u30b6\u306e\u4e2d\u3060\u3051\u300d<\/strong>\u3067\u6709\u52b9\u3067\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u751f\u6210\u3057\u305fURL\u3092\u53cb\u4eba\u306b\u9001\u3063\u305f\u308a\u3001\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u4e0a\u306b\u516c\u958b\u3057\u3066\u3082\u3001\u4ed6\u4eba\u306e\u30d1\u30bd\u30b3\u30f3\u304b\u3089\u306f\u753b\u50cf\u3092\u898b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u3042\u304f\u307e\u3067\u300c\u81ea\u5206\u306e\u30d1\u30bd\u30b3\u30f3\u4e0a\u3067\u3001\u4e00\u6642\u7684\u306b\u753b\u50cf\u3092URL\u3068\u3057\u3066\u6271\u3044\u305f\u3044\u300d\u3068\u304d\u306b\u4f7f\u7528\u3059\u308b\u6280\u8853\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-3\">\u3053\u306e\u30c4\u30fc\u30eb\u304c\u5f79\u7acb\u3064\u3068\u304d\u306f\u3069\u3093\u306a\u3068\u304d\uff1f<\/h2>\n\n\n\n<p>\u4e3b\u306bWEB\u5236\u4f5c\u30fb\u30b7\u30b9\u30c6\u30e0\u958b\u767a\u30fb\u30c7\u30b6\u30a4\u30f3\u306e\u73fe\u5834\u3067\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b7\u30fc\u30f3\u3067\u6d3b\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u3067\u306e\u753b\u50cf\u8868\u793a\u30c6\u30b9\u30c8<\/strong> WEB\u30b5\u30a4\u30c8\u3084\u30a2\u30d7\u30ea\u3092\u958b\u767a\u4e2d\u3001\u753b\u50cf\u3092\u30b5\u30fc\u30d0\u30fc\u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u524d\u306b\u3001\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u3069\u306e\u3088\u3046\u306b\u8868\u793a\u3055\u308c\u308b\u304b\u3092\u78ba\u8a8d\u3057\u305f\u3044\u3068\u304d\u306b\u4fbf\u5229\u3067\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u6a5f\u80fd\u306e\u6319\u52d5\u78ba\u8a8d<\/strong> \u753b\u50cf\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u6a5f\u80fd\u3092\u5b9f\u88c5\u3059\u308b\u969b\u3001\u30d7\u30ec\u30d3\u30e5\u30fc\u6a5f\u80fd\u304c\u6b63\u3057\u304f\u52d5\u4f5c\u3059\u308b\u304b\uff08Blob URL\u304c\u6b63\u3057\u304f\u751f\u6210\u30fb\u8aad\u307f\u8fbc\u307f\u3067\u304d\u308b\u304b\uff09\u306e\u691c\u8a3c\u7528\u30c7\u30fc\u30bf\u3068\u3057\u3066\u5229\u7528\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u6a5f\u5bc6\u753b\u50cf\u306e\u8868\u793a\u78ba\u8a8d<\/strong> \u30b5\u30fc\u30d0\u30fc\u306b\u30c7\u30fc\u30bf\u3092\u6b8b\u3057\u305f\u304f\u306a\u3044\u91cd\u8981\u306a\u753b\u50cf\u3092\u3001\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u5b89\u5168\u306bURL\u5316\u3057\u3066\u8868\u793a\u78ba\u8a8d\u3092\u884c\u3044\u305f\u3044\u5834\u5408\u306b\u6700\u9069\u3067\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-4\">\u3088\u304f\u3042\u308b\u9593\u9055\u3044\uff1a\u753b\u50cf\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\uff08\u5171\u6709\uff09\u306b\u3064\u3044\u3066<\/h2>\n\n\n\n<p>\u3053\u306e\u30c4\u30fc\u30eb\u306f\u300c\u753b\u50cf\u5171\u6709\u306e\u305f\u3081\u306eURL\uff08\u4ed6\u4eba\u306b\u9001\u3063\u3066\u898b\u305b\u308b\u305f\u3081\u306eURL\uff09\u300d\u3092\u4f5c\u6210\u3059\u308b\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p> \u753b\u50cf\u3092\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u4e0a\u306b\u516c\u958b\u3057\u3066\u4ed6\u4eba\u3068\u5171\u6709\u3057\u305f\u3044\u5834\u5408\u306f\u3001\u5404\u7a2eSNS\u3084\u753b\u50cf\u30db\u30b9\u30c6\u30a3\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9\u3092\u3054\u5229\u7528\u304f\u3060\u3055\u3044\u3002<br>\u203b\u3042\u304f\u307e\u3067\u300c\u624b\u5143\u306e\u30d6\u30e9\u30a6\u30b6\u5185\u3067\u5b8c\u7d50\u3059\u308b\u51e6\u7406\u300d\u306b\u7279\u5316\u3057\u305f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u91cd\u8996\u306e\u30c4\u30fc\u30eb\u3067\u3059<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u753b\u50cf \u21d2 SVG \u753b\u50cf \u21d2 PDF \u753b\u50cf \u21d2 \u30c9\u30c3\u30c8\u7d75 \u753b\u50cf \u21d2 URL \u5b89\u5fc3\u8a2d\u8a08\uff1a\u753b\u50cf\u306f\u304a\u5ba2\u69d8\u306e\u7aef\u672b\u5185\u3067\u51e6\u7406\u3055\u308c\u3001\u30b5\u30fc\u30d0\u30fc\u306b\u306f\u9001\u4fe1\u3055\u308c\u307e\u305b\u3093 \u753b\u50cf\u3092\u30c9\u30e9\u30c3\u30b0&amp;\u30c9\u30ed\u30c3\u30d7 \u307e\u305f\u306f\u30af\u30ea\u30c3\u30af\u3057\u3066\u9078\u629e \u5bfe\u5fdc\u5f62\u5f0f: JPG &#8230; <\/p>\n","protected":false},"author":4,"featured_media":13557,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,56],"tags":[],"class_list":{"0":"post-12463","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tool","8":"category-conversion","9":"entry"},"_links":{"self":[{"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/posts\/12463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/comments?post=12463"}],"version-history":[{"count":0,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/posts\/12463\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/media\/13557"}],"wp:attachment":[{"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/media?parent=12463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/categories?post=12463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/tags?post=12463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}