{"id":3206,"date":"2026-09-05T09:13:17","date_gmt":"2026-09-05T09:13:17","guid":{"rendered":"https:\/\/digitalbridgehub.com\/acrossysdigital\/?page_id=3206"},"modified":"2026-09-09T08:15:15","modified_gmt":"2026-09-09T08:15:15","slug":"image-alt-text-creator","status":"publish","type":"page","link":"https:\/\/digitalbridgehub.com\/acrossysdigital\/tools\/image-alt-text-creator\/","title":{"rendered":"Image Alt Text Creator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3206\" class=\"elementor elementor-3206\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-27f8f93 e-flex e-con-boxed qodef-elementor-content-no e-con e-parent\" data-id=\"27f8f93\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fbbf93a elementor-widget elementor-widget-shortcode\" data-id=\"fbbf93a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\r\n<div class=\"aitool-wrapper\">\r\n    <div class=\"aitool-header\">\r\n        <h2>Image Alt Text Creator<\/h2>\r\n        <p>Synthesize accessible, SEO-optimized alternative text variants with precise screen reader compliance<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"aitool-body\">\r\n        <div class=\"aitool-calc-grid\">\r\n            <!-- Left Input Column -->\r\n            <div class=\"aitool-card\">\r\n                <div class=\"aitool-card-header\">\r\n                    <span class=\"aitool-card-title\">Image Specifications<\/span>\r\n                    <span class=\"aitool-card-badge\">Attributes<\/span>\r\n                <\/div>\r\n                <div class=\"aitool-card-body\">\r\n                    <div class=\"aitool-row\">\r\n                        <label for=\"iat-description\">Image Visual Description *<\/label>\r\n                        <textarea id=\"iat-description\" rows=\"4\" placeholder=\"Describe the image subject, environment, prominent objects, actions, and atmosphere...&#10;&#10;e.g., A frontend developer in a modern office analyzing SEO ranking data across two curved monitors.\"><\/textarea>\r\n                        <div class=\"aitool-row-hint\">Explain the core subject, action, visible text, and relevant background details<\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"aitool-row\">\r\n                        <label for=\"iat-keywords\">Target Keywords (Comma-separated, Optional)<\/label>\r\n                        <input type=\"text\" id=\"iat-keywords\" placeholder=\"e.g., technical SEO audit, ranking monitor, web development\">\r\n                        <div class=\"aitool-row-hint\">Entities or phrases to incorporate naturally without artificial stuffing<\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"aitool-row\">\r\n                        <label for=\"iat-url\">Image Reference URL (Optional)<\/label>\r\n                        <input type=\"url\" id=\"iat-url\" placeholder=\"https:\/\/example.com\/assets\/sample-image.jpg\">\r\n                        <div class=\"aitool-row-hint\">Optional URL to display a live rendered preview container<\/div>\r\n                        <div id=\"iat-image-preview\" style=\"display: none; margin-top: 10px; padding: 12px; background: var(--BodyBGColor); border: 1px dashed rgba(214,214,214,0.2); border-radius: var(--Radius_Small); text-align: center;\"><\/div>\r\n                    <\/div>\r\n\r\n                    <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 12px;\">\r\n                        <div class=\"aitool-row\">\r\n                            <label for=\"iat-style\">Copywriting Directive<\/label>\r\n                            <select id=\"iat-style\">\r\n                                <option value=\"seo\" selected>SEO Balanced (Context + Primary Keyword)<\/option>\r\n                                <option value=\"descriptive\">Accessibility Focus (Strict Screen Reader Detail)<\/option>\r\n                                <option value=\"concise\">Concise &amp; Compact (Under 80 Characters)<\/option>\r\n                                <option value=\"detailed\">Exhaustive Scene Context (Up to 125 Characters)<\/option>\r\n                            <\/select>\r\n                        <\/div>\r\n                        <div class=\"aitool-row\">\r\n                            <label for=\"iat-count\">Generated Variations<\/label>\r\n                            <select id=\"iat-count\">\r\n                                <option value=\"3\">3 Options<\/option>\r\n                                <option value=\"5\" selected>5 Options<\/option>\r\n                                <option value=\"7\">7 Options<\/option>\r\n                            <\/select>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"aitool-buttons\" style=\"margin-top: 15px;\">\r\n                        <button type=\"button\" id=\"iat-generate-btn\" class=\"aitool-btn aitool-btn-primary\">Generate Alt Text<\/button>\r\n                        <button type=\"button\" id=\"iat-clear-btn\" class=\"aitool-btn aitool-btn-secondary\">Clear<\/button>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Right Overview Column -->\r\n            <div class=\"aitool-sticky-panel\">\r\n                <div class=\"aitool-card\">\r\n                    <div class=\"aitool-card-header\">\r\n                        <span class=\"aitool-card-title\">Generation Diagnostics<\/span>\r\n                        <span class=\"aitool-card-badge\" id=\"iat-status-badge\">Idle<\/span>\r\n                    <\/div>\r\n                    <div class=\"aitool-card-body\">\r\n                        <div class=\"aitool-metric-grid\">\r\n                            <div class=\"aitool-metric-card highlight\">\r\n                                <div class=\"aitool-mc-label\">Generated Options<\/div>\r\n                                <div class=\"aitool-mc-val\" id=\"iat-metric-count\">0<\/div>\r\n                            <\/div>\r\n                            <div class=\"aitool-metric-card\">\r\n                                <div class=\"aitool-mc-label\">Optimal Character Limit<\/div>\r\n                                <div class=\"aitool-mc-val\" style=\"font-size: 16px;\">&le; 125 Chars<\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        <div class=\"aitool-actions\" id=\"iat-export-actions\" style=\"display: none; margin-top: 15px;\">\r\n                            <button type=\"button\" id=\"iat-copy-all-btn\" class=\"aitool-action-btn\">Copy All Variations<\/button>\r\n                            <button type=\"button\" id=\"iat-export-btn\" class=\"aitool-action-btn\">Download CSV<\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Dynamic Output Stream -->\r\n        <div id=\"iat-results-stream\" style=\"margin-top: 25px; display: flex; flex-direction: column; gap: 14px;\">\r\n            <div class=\"aitool-card-highlight\" style=\"margin-bottom: 0;\">\r\n                <div class=\"aitool-card-highlight-label\">Awaiting Input<\/div>\r\n                <div class=\"aitool-card-content\" style=\"color: var(--BodyTxtColor);\">\r\n                    Provide an image description and click Generate Alt Text to produce compliant, search-optimized alternatives.\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"aitool-info-box\" style=\"margin-top: 25px;\">\r\n            <strong>Accessibility and Search Best Practices:<\/strong>\r\n            <ul style=\"margin: 10px 0 0 20px; line-height: 1.7;\">\r\n                <li>Maintain alt attributes under <strong>125 characters<\/strong> to prevent truncation by common screen readers (such as JAWS and NVDA).<\/li>\r\n                <li>Never begin alt descriptions with \"image of\", \"picture of\", or \"graphic showing\" because assistive technologies announce image tags automatically.<\/li>\r\n                <li>If an image is purely ornamental and contains no contextual or functional information, present an empty string: <code>alt=\"\"<\/code>.<\/li>\r\n            <\/ul>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\njQuery(document).ready(function ($) {\r\n    var ajaxUrl = 'https:\/\/digitalbridgehub.com\/acrossysdigital\/wp-admin\/admin-ajax.php';\r\n    var nonce   = '9357469fab';\r\n\r\n    var currentAltTexts = [];\r\n\r\n    var $descInput      = $('#iat-description');\r\n    var $keywordsInput  = $('#iat-keywords');\r\n    var $urlInput       = $('#iat-url');\r\n    var $styleSelect    = $('#iat-style');\r\n    var $countSelect    = $('#iat-count');\r\n\r\n    var $generateBtn    = $('#iat-generate-btn');\r\n    var $clearBtn       = $('#iat-clear-btn');\r\n    var $copyAllBtn     = $('#iat-copy-all-btn');\r\n    var $exportBtn      = $('#iat-export-btn');\r\n\r\n    var $statusBadge    = $('#iat-status-badge');\r\n    var $metricCount    = $('#iat-metric-count');\r\n    var $exportActions  = $('#iat-export-actions');\r\n    var $resultsStream  = $('#iat-results-stream');\r\n    var $imagePreview   = $('#iat-image-preview');\r\n\r\n    function escapeHtml(text) {\r\n        if (!text) return '';\r\n        return String(text).replace(\/&\/g, '&amp;').replace(\/<\/g, '&lt;')\r\n                           .replace(\/>\/g, '&gt;').replace(\/\"\/g, '&quot;').replace(\/'\/g, '&#39;');\r\n    }\r\n\r\n    \/\/ Dynamic visual preview handler\r\n    $urlInput.on('input blur', function () {\r\n        var url = $(this).val().trim();\r\n        if (url && (\/^https?:\\\/\\\/\/i.test(url) || url.startsWith('\/\/'))) {\r\n            $imagePreview.html(\r\n                '<img decoding=\"async\" src=\"' + escapeHtml(url) + '\" alt=\"Visual reference\" style=\"max-width: 100%; max-height: 160px; border-radius: var(--Radius_Small); object-fit: cover;\">'\r\n            ).show();\r\n        } else {\r\n            $imagePreview.hide().html('');\r\n        }\r\n    });\r\n\r\n    function getStyleDirective(style) {\r\n        switch (style) {\r\n            case 'seo':\r\n                return 'Natural SEO optimization under 120 characters: integrate target search keywords seamlessly into the real visual context of the scene.';\r\n            case 'descriptive':\r\n                return 'Pure descriptive accessibility under 125 characters: focus rigorously on spatial composition, objects, people, and visual actions for screen reader users.';\r\n            case 'concise':\r\n                return 'Ultra-concise framing under 80 characters: state only the primary focal entity and immediate action with zero extraneous verbiage.';\r\n            case 'detailed':\r\n                return 'Exhaustive scene description between 95 and 125 characters: specify environment, subject condition, and secondary visual context.';\r\n            default:\r\n                return 'Clear, compliant, and objective visual descriptions strictly under 125 characters.';\r\n        }\r\n    }\r\n\r\n    async function executeAltGeneration(description, keywords, style, count) {\r\n        var styleDirective = getStyleDirective(style);\r\n        var keywordContext = keywords ? 'Keywords to weave in naturally: ' + keywords + '.\\n' : '';\r\n\r\n        var prompt = 'You are an accessibility and image metadata specialist.\\n' +\r\n            'Generate exactly ' + count + ' distinct, high-quality image alt text variations based on the visual criteria provided.\\n\\n' +\r\n            'Visual Description: ' + description + '\\n' +\r\n            keywordContext +\r\n            'Style Directive: ' + styleDirective + '\\n\\n' +\r\n            'Strict Format Contract:\\n' +\r\n            'Respond ONLY with a valid JSON object matching this schema. No markdown formatting, backticks, or commentary.\\n' +\r\n            '{\\n' +\r\n            '  \"variations\": [\\n' +\r\n            '    \"alt text string 1\",\\n' +\r\n            '    \"alt text string 2\"\\n' +\r\n            '  ]\\n' +\r\n            '}\\n\\n' +\r\n            'Rules:\\n' +\r\n            '1. Never begin with phrases like \"image of\", \"photo of\", \"graphic of\", or \"picture of\".\\n' +\r\n            '2. Every string must be strictly 125 characters or fewer.\\n' +\r\n            '3. Output exactly ' + count + ' items in the array.';\r\n\r\n        var params = new URLSearchParams();\r\n        params.append('action', 'generate_image_alt_text');\r\n        params.append('nonce', nonce);\r\n        params.append('prompt', prompt);\r\n\r\n        var resp = await fetch(ajaxUrl, {\r\n            method: 'POST',\r\n            headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\r\n            body: params.toString()\r\n        });\r\n\r\n        if (!resp.ok) {\r\n            throw new Error('Server returned HTTP ' + resp.status);\r\n        }\r\n\r\n        var json = await resp.json();\r\n        if (!json.success) {\r\n            throw new Error(json.data ? json.data.message : 'Failed to generate alt text variations.');\r\n        }\r\n\r\n        var raw = json.data.text.trim();\r\n        var match = raw.match(\/\\{[\\s\\S]*\\}\/);\r\n        if (!match) {\r\n            throw new Error('Could not parse clean JSON output from model response.');\r\n        }\r\n\r\n        var parsed = JSON.parse(match[0]);\r\n        if (!Array.isArray(parsed.variations)) {\r\n            throw new Error('Malformed variations payload received.');\r\n        }\r\n\r\n        return parsed.variations;\r\n    }\r\n\r\n    function generateFallbackVariants(description, count) {\r\n        var base = description.split('.')[0].trim().substring(0, 75);\r\n        var variants = [];\r\n        for (var i = 0; i < count; i++) {\r\n            if (i === 0) {\r\n                variants.push(base);\r\n            } else {\r\n                variants.push(base + ' perspective ' + (i + 1));\r\n            }\r\n        }\r\n        return variants;\r\n    }\r\n\r\n    function renderAltStream(variations) {\r\n        var html = '';\r\n\r\n        variations.forEach(function (text, idx) {\r\n            var len = text.length;\r\n            var badgeColor = '#22c55e';\r\n            var statusLabel = 'Optimal';\r\n\r\n            if (len > 125) {\r\n                badgeColor = '#ef4444';\r\n                statusLabel = 'Truncated (>125)';\r\n            } else if (len > 105) {\r\n                badgeColor = '#f59e0b';\r\n                statusLabel = 'Long';\r\n            }\r\n\r\n            html += '<div class=\"aitool-card\">';\r\n            html += '<div class=\"aitool-card-header\">';\r\n            html += '<span class=\"aitool-card-title\">Option ' + (idx + 1) + '<\/span>';\r\n            html += '<span class=\"aitool-card-badge\" style=\"color:' + badgeColor + '; border-color:' + badgeColor + ';\">' + len + ' Characters (' + statusLabel + ')<\/span>';\r\n            html += '<\/div>';\r\n\r\n            html += '<div class=\"aitool-card-body\">';\r\n            html += '<div class=\"aitool-card-highlight\" style=\"background: var(--BodyBGColor); border-left-color:' + badgeColor + '; margin-bottom: 12px;\">';\r\n            html += '<div style=\"font-size: 13.5px; color: var(--AccentTxtColor); line-height: 1.6;\">' + escapeHtml(text) + '<\/div>';\r\n            html += '<\/div>';\r\n\r\n            html += '<div class=\"aitool-actions\" style=\"margin-top: 0;\">';\r\n            html += '<button type=\"button\" class=\"aitool-action-btn iat-single-copy\" data-text=\"' + escapeHtml(text) + '\">Copy Attribute<\/button>';\r\n            html += '<\/div>';\r\n\r\n            html += '<\/div><\/div>';\r\n        });\r\n\r\n        $resultsStream.html(html);\r\n        $metricCount.text(variations.length);\r\n\r\n        $('.iat-single-copy').on('click', function () {\r\n            var val = $(this).data('text');\r\n            var $btn = $(this);\r\n            navigator.clipboard.writeText(val).then(function () {\r\n                $btn.text('Copied');\r\n                setTimeout(function () { $btn.text('Copy Attribute'); }, 1500);\r\n            });\r\n        });\r\n    }\r\n\r\n    $generateBtn.on('click', async function () {\r\n        var description = $descInput.val().trim();\r\n        var keywords    = $keywordsInput.val().trim();\r\n        var style       = $styleSelect.val();\r\n        var count       = parseInt($countSelect.val(), 10) || 5;\r\n\r\n        if (!description) {\r\n            alert('Please supply an image description.');\r\n            return;\r\n        }\r\n\r\n        $generateBtn.prop('disabled', true).text('Synthesizing...');\r\n        $statusBadge.text('Generating').css('color', 'var(--PrimaryColor)');\r\n        $exportActions.hide();\r\n\r\n        $resultsStream.html(\r\n            '<div class=\"aitool-loading\">' +\r\n            '<span class=\"aitool-loading-spinner\">&#8635;<\/span>' +\r\n            'Generating accessible alt text variants via Gemini AI...' +\r\n            '<\/div>'\r\n        );\r\n\r\n        try {\r\n            var results = await executeAltGeneration(description, keywords, style, count);\r\n            currentAltTexts = results;\r\n\r\n            renderAltStream(results);\r\n            $statusBadge.text('Complete').css('color', '#22c55e');\r\n            $exportActions.show();\r\n\r\n        } catch (err) {\r\n            var fallback = generateFallbackVariants(description, count);\r\n            currentAltTexts = fallback;\r\n\r\n            renderAltStream(fallback);\r\n            $statusBadge.text('Standard Fallback').css('color', 'var(--PrimaryColor)');\r\n            $exportActions.show();\r\n        } finally {\r\n            $generateBtn.prop('disabled', false).text('Generate Alt Text');\r\n        }\r\n    });\r\n\r\n    $copyAllBtn.on('click', function () {\r\n        if (!currentAltTexts.length) return;\r\n        var text = currentAltTexts.join('\\n\\n');\r\n        var $btn = $(this);\r\n        navigator.clipboard.writeText(text).then(function () {\r\n            $btn.text('Copied All');\r\n            setTimeout(function () { $btn.text('Copy All Variations'); }, 1800);\r\n        });\r\n    });\r\n\r\n    $exportBtn.on('click', function () {\r\n        if (!currentAltTexts.length) return;\r\n\r\n        var rows = [];\r\n        rows.push(['Alt Text Variation', 'Character Count']);\r\n\r\n        currentAltTexts.forEach(function (item) {\r\n            rows.push([\r\n                item,\r\n                item.length\r\n            ]);\r\n        });\r\n\r\n        var csv = rows.map(function (row) {\r\n            return row.map(function (cell) {\r\n                return '\"' + String(cell).replace(\/\"\/g, '\"\"') + '\"';\r\n            }).join(',');\r\n        }).join('\\n');\r\n\r\n        var blob = new Blob([\"\\uFEFF\" + csv], { type: 'text\/csv;charset=utf-8;' });\r\n        var link = document.createElement('a');\r\n        link.href = URL.createObjectURL(blob);\r\n        link.download = 'image-alt-texts.csv';\r\n        document.body.appendChild(link);\r\n        link.click();\r\n        document.body.removeChild(link);\r\n        URL.revokeObjectURL(link.href);\r\n    });\r\n\r\n    $clearBtn.on('click', function () {\r\n        $descInput.val('');\r\n        $keywordsInput.val('');\r\n        $urlInput.val('');\r\n        $styleSelect.val('seo');\r\n        $countSelect.val('5');\r\n        $imagePreview.hide().html('');\r\n\r\n        $statusBadge.text('Idle').css('color', 'var(--BodyTxtColor)');\r\n        $metricCount.text('0');\r\n        $exportActions.hide();\r\n        currentAltTexts = [];\r\n\r\n        $resultsStream.html(\r\n            '<div class=\"aitool-card-highlight\" style=\"margin-bottom: 0;\">' +\r\n            '<div class=\"aitool-card-highlight-label\">Awaiting Input<\/div>' +\r\n            '<div class=\"aitool-card-content\" style=\"color: var(--BodyTxtColor);\">' +\r\n            'Provide an image description and click Generate Alt Text to produce compliant, search-optimized alternatives.' +\r\n            '<\/div>' +\r\n            '<\/div>'\r\n        );\r\n    });\r\n\r\n    $descInput.on('keydown', function (e) {\r\n        if (e.ctrlKey && e.key === 'Enter') {\r\n            $generateBtn.click();\r\n        }\r\n    });\r\n});\r\n<\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":3234,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-3206","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/digitalbridgehub.com\/acrossysdigital\/wp-json\/wp\/v2\/pages\/3206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digitalbridgehub.com\/acrossysdigital\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/digitalbridgehub.com\/acrossysdigital\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/digitalbridgehub.com\/acrossysdigital\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/digitalbridgehub.com\/acrossysdigital\/wp-json\/wp\/v2\/comments?post=3206"}],"version-history":[{"count":4,"href":"https:\/\/digitalbridgehub.com\/acrossysdigital\/wp-json\/wp\/v2\/pages\/3206\/revisions"}],"predecessor-version":[{"id":3210,"href":"https:\/\/digitalbridgehub.com\/acrossysdigital\/wp-json\/wp\/v2\/pages\/3206\/revisions\/3210"}],"up":[{"embeddable":true,"href":"https:\/\/digitalbridgehub.com\/acrossysdigital\/wp-json\/wp\/v2\/pages\/3234"}],"wp:attachment":[{"href":"https:\/\/digitalbridgehub.com\/acrossysdigital\/wp-json\/wp\/v2\/media?parent=3206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}