{"title":"Family Portraits","description":"\u003cp\u003eCapture your family in a timeless hand-painted oil portrait. Send us a photo and our artists will create a custom family portrait on canvas.\u003c\/p\u003e","products":[{"product_id":"photo-to-oil-painting-on-canvas","title":"Custom Oil Painting from Your Photo","description":"\u003cp\u003eUpload one meaningful photo, choose your size and frame, and our studio will turn it into a hand-painted oil painting on real canvas.\u003c\/p\u003e\n\u003cul\u003e\n  \u003cli\u003ePainted by hand from your reference photo\u003c\/li\u003e\n  \u003cli\u003ePhoto checked before painting begins\u003c\/li\u003e\n  \u003cli\u003eTracked shipping where carrier service is available\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eOnce you've placed your order, please kindly email your photo and order number to \u003ca href=\"mailto:service@realoilart.com\"\u003eservice@realoilart.com\u003c\/a\u003e. Thank you!\u003c\/strong\u003e\u003c\/p\u003e\n\u003cstyle id=\"ROA_REMOVE_CUSTOM_OIL_DETAILS_PRODUCT_20260610\"\u003e.CustomOilDetails,[data-custom-oil-fields]{display:none!important}\u003c\/style\u003e\n\u003cscript id=\"ROA_REMOVE_CUSTOM_OIL_DETAILS_PRODUCT_20260610\"\u003e(function(){window.__REALOILART_REMOVE_CUSTOM_OIL_DETAILS_FORM_20260609=true;function remove(){document.querySelectorAll('.CustomOilDetails,[data-custom-oil-fields]').forEach(function(n){if(n\u0026\u0026n.parentNode)n.parentNode.removeChild(n);});document.querySelectorAll('input[name=\"properties[Reference Photo]\"],input[name=\"properties[Photo Sending Method]\"],textarea[name=\"properties[Artist Notes]\"],input[name=\"properties[Proof Before Shipping]\"],input[name=\"properties[Photo Sending Instructions]\"]').forEach(function(n){var w=n.closest\u0026\u0026n.closest('.CustomOilField,.CustomOilMethod,fieldset,label');var t=w||n;if(t\u0026\u0026t.parentNode)t.parentNode.removeChild(t);});}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',remove,{once:true});else remove();window.addEventListener('pageshow',remove);window.addEventListener('load',remove);[50,150,400,900,1800,3200,5000].forEach(function(d){setTimeout(remove,d);});try{new MutationObserver(remove).observe(document.documentElement,{childList:true,subtree:true});}catch(e){}})();\u003c\/script\u003e\n\u003cstyle id=\"ROA_PRODUCT_INTRO_TOP_20260610\"\u003e.ProductMeta__Description{margin-top:18px!important;margin-bottom:20px!important}.ProductMeta__Description h1,.ProductMeta__Description h2{display:none!important}\u003c\/style\u003e\n\u003cscript id=\"ROA_PRODUCT_INTRO_TOP_20260610\"\u003e(function(){function moveIntro(){var form=document.querySelector('.Product__Info form.ProductForm');if(!form)return;var intro=form.querySelector('.ProductMeta__Description');var meta=form.querySelector('.ProductMeta');if(!intro||!meta)return;intro.querySelectorAll('h1,h2').forEach(function(h){h.remove();});if(meta.nextElementSibling!==intro){meta.parentNode.insertBefore(intro,meta.nextSibling);}}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',moveIntro,{once:true});else moveIntro();window.addEventListener('load',moveIntro);window.addEventListener('pageshow',moveIntro);[50,150,400,900,1600,3000].forEach(function(d){setTimeout(moveIntro,d);});try{new MutationObserver(moveIntro).observe(document.documentElement,{childList:true,subtree:true});}catch(e){}})();\u003c\/script\u003e\n\u003cscript id=\"ROA_BUY_NOW_FALLBACK_PRODUCT_20260610\"\u003e(function(){var marker='__ROA_BUY_NOW_FALLBACK_PRODUCT_20260610';if(window[marker])return;window[marker]=true;function formOf(button){return button\u0026\u0026button.closest\u0026\u0026button.closest('form[action*=\"\/cart\/add\"],form.ProductForm')||document.querySelector('form[action*=\"\/cart\/add\"],form.ProductForm');}function setBusy(button,busy){if(!button)return;if(busy){button.disabled=true;button.setAttribute('aria-busy','true');}else{button.disabled=false;button.removeAttribute('aria-busy');}}function showError(form,message){if(!form)return;var old=form.querySelector('.ROA_BUY_NOW_FALLBACK_ERROR');if(old)old.remove();var node=document.createElement('div');node.className='ROA_BUY_NOW_FALLBACK_ERROR';node.setAttribute('role','alert');node.style.cssText='margin:10px 0;color:#9b3d31;font-size:13px;line-height:1.45;';node.textContent=message||'Checkout did not start. Please try Add to cart.';var anchor=form.querySelector('[data-realoilart-buy-now]')||form.querySelector('.ProductForm__AddToCart,button[name=\"add\"]');if(anchor\u0026\u0026anchor.parentNode)anchor.parentNode.insertBefore(node,anchor.nextSibling);else form.appendChild(node);setTimeout(function(){if(node\u0026\u0026node.parentNode)node.parentNode.removeChild(node);},5000);}function submit(button){var form=formOf(button);if(!form)return;if(form.checkValidity\u0026\u0026!form.checkValidity()){form.reportValidity();return;}var data=new FormData(form);if(!data.get('id')){var idField=form.querySelector('select[name=\"id\"],input[name=\"id\"]');if(idField\u0026\u0026idField.value)data.set('id',idField.value);}if(!data.get('quantity')){var qty=form.querySelector('input[name=\"quantity\"]');data.set('quantity',qty\u0026\u0026qty.value?qty.value:'1');}setBusy(button,true);fetch('\/cart\/add.js',{method:'POST',credentials:'same-origin',body:data,headers:{Accept:'application\/json','X-Requested-With':'XMLHttpRequest'}}).then(function(response){if(!response.ok){return response.json().catch(function(){return{description:response.statusText};}).then(function(error){throw error;});}return response.json();}).then(function(){window.location.href='\/checkout';}).catch(function(error){setBusy(button,false);var msg=error\u0026\u0026(error.description||error.message);showError(form,msg);});}document.addEventListener('click',function(event){var button=event.target\u0026\u0026event.target.closest\u0026\u0026event.target.closest('[data-realoilart-buy-now]');if(!button)return;var form=formOf(button);if(!form)return;event.preventDefault();event.stopPropagation();event.stopImmediatePropagation();submit(button);},true);})();\u003c\/script\u003e","brand":"Realoilart","offers":[{"title":"12×16\" \/ Rolled-Canvas","offer_id":48902942195962,"sku":"CUSTOM-12x16-RC","price":339.0,"currency_code":"USD","in_stock":true},{"title":"12×16\" \/ Black Frame","offer_id":48902942228730,"sku":"CUSTOM-12x16-BF","price":469.0,"currency_code":"USD","in_stock":true},{"title":"12×16\" \/ White Frame","offer_id":48902942261498,"sku":"CUSTOM-12x16-WF","price":469.0,"currency_code":"USD","in_stock":true},{"title":"12×16\" \/ Wood Frame","offer_id":48902942294266,"sku":"CUSTOM-12x16-WD","price":469.0,"currency_code":"USD","in_stock":true},{"title":"12×16\" \/ Gold Frame","offer_id":48902942327034,"sku":"CUSTOM-12x16-GD","price":469.0,"currency_code":"USD","in_stock":true},{"title":"12×16\" \/ Silver Frame","offer_id":48902942359802,"sku":"CUSTOM-12x16-SV","price":469.0,"currency_code":"USD","in_stock":true},{"title":"16×20\" \/ Rolled-Canvas","offer_id":48902942392570,"sku":"CUSTOM-16x20-RC","price":419.0,"currency_code":"USD","in_stock":true},{"title":"16×20\" \/ Black Frame","offer_id":48902942425338,"sku":"CUSTOM-16x20-BF","price":549.0,"currency_code":"USD","in_stock":true},{"title":"16×20\" \/ White Frame","offer_id":48902942458106,"sku":"CUSTOM-16x20-WF","price":549.0,"currency_code":"USD","in_stock":true},{"title":"16×20\" \/ Wood Frame","offer_id":48902942490874,"sku":"CUSTOM-16x20-WD","price":549.0,"currency_code":"USD","in_stock":true},{"title":"16×20\" \/ Gold Frame","offer_id":48902942523642,"sku":"CUSTOM-16x20-GD","price":549.0,"currency_code":"USD","in_stock":true},{"title":"16×20\" \/ Silver Frame","offer_id":48902942556410,"sku":"CUSTOM-16x20-SV","price":549.0,"currency_code":"USD","in_stock":true},{"title":"20×24\" \/ Rolled-Canvas","offer_id":48902942589178,"sku":"CUSTOM-20x24-RC","price":519.0,"currency_code":"USD","in_stock":true},{"title":"20×24\" \/ Black Frame","offer_id":48902942621946,"sku":"CUSTOM-20x24-BF","price":729.0,"currency_code":"USD","in_stock":true},{"title":"20×24\" \/ White Frame","offer_id":48902942654714,"sku":"CUSTOM-20x24-WF","price":729.0,"currency_code":"USD","in_stock":true},{"title":"20×24\" \/ Wood Frame","offer_id":48902942687482,"sku":"CUSTOM-20x24-WD","price":729.0,"currency_code":"USD","in_stock":true},{"title":"20×24\" \/ Gold Frame","offer_id":48902942720250,"sku":"CUSTOM-20x24-GD","price":729.0,"currency_code":"USD","in_stock":true},{"title":"20×24\" \/ Silver Frame","offer_id":48902942753018,"sku":"CUSTOM-20x24-SV","price":729.0,"currency_code":"USD","in_stock":true},{"title":"24×36\" \/ Rolled-Canvas","offer_id":48902942785786,"sku":"CUSTOM-24x36-RC","price":729.0,"currency_code":"USD","in_stock":true},{"title":"24×36\" \/ Black Frame","offer_id":48902942818554,"sku":"CUSTOM-24x36-BF","price":939.0,"currency_code":"USD","in_stock":true},{"title":"24×36\" \/ White Frame","offer_id":48902942851322,"sku":"CUSTOM-24x36-WF","price":939.0,"currency_code":"USD","in_stock":true},{"title":"24×36\" \/ Wood Frame","offer_id":48902942884090,"sku":"CUSTOM-24x36-WD","price":939.0,"currency_code":"USD","in_stock":true},{"title":"24×36\" \/ Gold Frame","offer_id":48902942916858,"sku":"CUSTOM-24x36-GD","price":939.0,"currency_code":"USD","in_stock":true},{"title":"24×36\" \/ Silver Frame","offer_id":48902942949626,"sku":"CUSTOM-24x36-SV","price":939.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0828\/6126\/1050\/files\/af0a06cb-1988-4392-b0e9-319102eefc59.png?v=1779096379"}],"url":"https:\/\/realoilart.com\/collections\/family-portraits.oembed","provider":"Realoilart","version":"1.0","type":"link"}