{"id":265629,"date":"2026-09-23T07:11:55","date_gmt":"2026-09-23T14:11:55","guid":{"rendered":"https:\/\/picsart.com\/blog\/?p=265629"},"modified":"2026-09-23T07:11:55","modified_gmt":"2026-09-23T14:11:55","slug":"ai-style-transfer-workflow-example","status":"publish","type":"post","link":"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/","title":{"rendered":"AI style transfer: how to match a photo to a reference"},"content":{"rendered":"<p>AI style transfer applies the look of one image to another without touching what the image shows. You bring a photo and a style reference, and you get your photo back in the reference&#8217;s palette, lighting and texture, with the subject, pose and composition exactly where you left them. The workflow below does it in a single run on <a href=\"https:\/\/picsart.com\/flow\/templates\/65e8a9d25bba61c1dbbc5abf7000ddfd272827759cb4228b4cfabf703f63c4b9\">Picsart Flow<\/a>, in a template called Style Extractor. It also shows its working, which is rarer than it sounds.<\/p>\n<p>Take a glass vase of pale flowers on a grey studio backdrop, the kind of still life that turns up in every stock library. Pair it with a synthwave illustration of dolphins over a neon grid, all magenta and cyan and laser glare. Feed both in and the vase comes back glowing, same flowers, same arrangement, same angle. Everything about how the image was made has been replaced, and nothing about what it contains has moved.<\/p>\n<h2><span id=\"What_AI_style_transfer_actually_moves\">What AI style transfer actually moves<\/span><\/h2>\n<p>The properties that travel describe how an image was rendered rather than what it contains. Colour goes across, and specifically how narrow and how warm the palette runs. Lighting goes across too, meaning its direction, its hardness and how deep it lets shadows fall. So do texture, the geometry a reference keeps repeating, and the way its surfaces appear to be made.<\/p>\n<p>What stays is your photograph. The subject, the composition, the pose, the angle and the spatial relationships between objects all survive intact. That is a real constraint as well as a feature, because a bad crop stays a bad crop and a soft focus stays soft. Style transfer changes how a picture looks, never how well it was taken.<\/p>\n<p>This is what separates it from a filter. A filter carries a fixed recipe, so every image comes out the same way. Style transfer derives the recipe from an image you chose, so your result is only ever as good as the reference. Prompting has the opposite problem, since &#8220;a synthwave poster&#8221; returns an average of everything ever labelled that way.<\/p>\n<h2><span id=\"How_the_Style_Analyzer_reads_a_reference\">How the Style Analyzer reads a reference<\/span><\/h2>\n<p>Most style transfer tools hand you a result and leave you guessing how they reached it. This template puts a node called Style Analyzer between your reference and the generators, and it writes out what the look consists of before anything is restyled. That spec is what the models receive, which is why the output is reproducible rather than lucky.<\/p>\n<p>Feed it that synthwave illustration and it returns style tags of synthwave, vaporwave, outrun and retro futurism. It names a primary of #FF2EA6 and an accent of #45E6FF, describes the lighting as emissive neon with high contrast, and lists effects of bloom, glow halos and laser streaks. It catalogues textures of CRT scanlines, VHS noise and chromatic aberration, then geometry of wireframe grid planes and prismatic triangles.<\/p>\n<p>None of that is decoration. It is why you can diagnose a disappointing run instead of shrugging and generating again. If the description came back vague, your reference was vague, and regenerating will not rescue it. If it listed something you never meant to borrow, you catch that before spending a generation on it.<\/p>\n<h2><span id=\"How_to_use_AI_style_transfer_in_Picsart_Flow\">How to use AI style transfer in Picsart Flow<\/span><\/h2>\n<p>The canvas opens with the chain already wired, so there is nothing to assemble before your first run. Four steps get you an output, and the template&#8217;s own instructions node spells out three of them. The fourth is the one worth slowing down for.<\/p>\n<h3>Step 1. Open the template<\/h3>\n<p>Start from <a href=\"https:\/\/picsart.com\/flow\/templates\/65e8a9d25bba61c1dbbc5abf7000ddfd272827759cb4228b4cfabf703f63c4b9\">Make Any Image Match a Reference Style<\/a>. It opens ready to run, with both input nodes empty and waiting. More builds in the same shape sit in the <a href=\"https:\/\/picsart.com\/flow\/templates\/\">Flow template library<\/a> if you want to see the pattern applied elsewhere.<\/p>\n<h3>Step 2. Upload the image you want restyled<\/h3>\n<p>Use the upload button in the top right of the source node. Bring the highest resolution version you have, because whatever detail you arrive with is the most you will leave with. Crop it to square first, since both outputs come back 1:1 and you want that decision to be yours rather than the workflow&#8217;s.<\/p>\n<h3>Step 3. Upload your style reference<\/h3>\n<p>Same control, on the reference node. If you are torn between several candidates, run them one at a time rather than trying to combine them, because references do not average well. Three separate runs will teach you more than one compromise ever does.<\/p>\n<h3>Step 4. Select the frame and run<\/h3>\n<p>Hover or select the frame, then hit Run. Both generators fire from the same pass, one through <a href=\"https:\/\/picsart.com\/ai-models\/seedream-4-0\/\">Seedream 4.0<\/a> set to 1:1 at 2160p and the other through Nano Banana. You do not pick between them up front, which is the point. They receive the same short, deliberately restrictive instruction:<\/p>\n<section class=\"try_prompt_block\" data-pulse-section-group=\"blog article\">\n    <h3 class=\"try_prompt_title\">The style transfer instruction<\/h3>\n\n    <div class=\"try_prompt_card\" data-pulse-section=\"blog article_try prompt\">\n        <p class=\"try_prompt_text\" id=\"try-prompt-6ab3f86cc9640-text\">Apply the style to the image. Do not change the content of the image only the overall visual style and aesthetic.<\/p>\n\n        <button type=\"button\"\n                class=\"try_prompt_copy\"\n                data-copy-target=\"#try-prompt-6ab3f86cc9640-text\"\n                aria-label=\"Copy prompt\"\n                title=\"Copy prompt\"\n                data-pulse-name=\"try prompt - copy\">\n            <img class=\"try_prompt_copy_icon\"\n                 src=\"https:\/\/cdn-cms-uploads.picsart.com\/cms-uploads\/79a9b2ac-f4c9-436b-b388-a05a484adf00.png\"\n                 alt=\"\"\n                 width=\"20\" height=\"20\"\n                 loading=\"lazy\" decoding=\"async\">\n            <svg class=\"try_prompt_check_icon\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n                <polyline points=\"5,12 10,17 19,7\"><\/polyline>\n            <\/svg>\n            <span class=\"try_prompt_copy_tooltip\" role=\"status\" aria-live=\"polite\">Copied<\/span>\n        <\/button>\n    <\/div>\n\n    <\/section>\n\n<p>Then compare the two, checking the subject before you admire the style. The failure that costs you real time is a gorgeous look sitting on a subject that has quietly changed shape. Faces and fine text are where that shows up first, so look there.<\/p>\n<h2><span id=\"Why_the_workflow_returns_two_images\">Why the workflow returns two images<\/span><\/h2>\n<p>The two results are not a rough and a final. They are two readings of the same instruction, and on the vase they disagree usefully. Seeing both beats running one model twice and wondering which way to push it.<\/p>\n<p>Seedream treats the style as surface. The vase stays where it was, on its own ground, and the synthwave arrives on top of it, with neon triangles framing the flowers, glitch bars across the top and a hot pink border wrapped around the frame. The subject is still unmistakably the hero of the picture.<\/p>\n<p>Nano Banana treats the style as setting. It relocates the same vase into the reference&#8217;s world, standing on the magenta grid plane under the horizon glow, with the triangles and starfield carried across. The photograph is not wearing the look so much as living inside it. Neither reading is wrong, and which you want depends on whether your style is a treatment or a place.<\/p>\n<p>The more useful signal is how far apart they land. When both models arrive somewhere similar, your reference was unambiguous and you can build a whole set on it. When they diverge this sharply, it was carrying mixed instructions, which is worth knowing before you commit twenty images.<\/p>\n<h2><span id=\"How_to_pick_a_style_reference\">How to pick a style reference<\/span><\/h2>\n<p>This is where most runs are won or lost, and it gets almost none of the attention. The analyzer is not assessing whether your reference is a good photograph, it is extracting named attributes, and some images have more to give it. The ones that work share a few traits, and the ones that fight you share just as many.<\/p>\n<p>Strong references carry one visual treatment across the entire frame, with no half that looks like a different image. Their palette is narrow enough that a primary and an accent are obvious, their lighting has a direction you could describe in a sentence, and their texture reads at normal viewing size. A real process helps enormously, since film stocks, print methods and paint behave far more consistently than composites.<\/p>\n<p>Weak references tend to be collages, or images with a strong subject of their own that can bleed content into your output. Frames split between a lit area and a dark area give the analyzer two answers instead of one. Heavily compressed files hand it JPEG artefacting in place of texture, and outputs from another AI restyle usually come back muddy the second time around.<\/p>\n<p>There is a quick test for this. Describe the reference&#8217;s look out loud without naming anything in it, and if you manage it in one sentence the analyzer will too. If you catch yourself saying &#8220;well, the left side is,&#8221; find a different image. Save the winner alongside the output, because in six weeks you will want to match it again and will not remember which frame you used.<\/p>\n<section class=\"section_faq\" id=\"faq-faq-6ab3f86cc9941\">\n            <h2 class=\"faq_title\" id=\"Get_answers_to_common_questions\">Get answers to common questions<\/h2>\n    \n    <div class=\"faq_items\">\n                    <div class=\"faq_item faq_item--active\">\n                <button type=\"button\" class=\"faq_question\" aria-expanded=\"true\">\n                    <span class=\"faq_question_text\">Does AI style transfer change my subject?<\/span>\n                    <svg class=\"faq_chevron\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                    <\/svg>\n                <\/button>\n                <div class=\"faq_answer\" aria-hidden=\"false\">\n                    <div class=\"faq_answer_content\"><p>It should not. The instruction sent to both models tells them to change only the visual style and never the content. Drift is still possible on faces and fine text, which is exactly why the comparison step matters.<\/p>\n<\/div>\n                <\/div>\n                <div class=\"faq_divider\"><\/div>\n            <\/div>\n                    <div class=\"faq_item \">\n                <button type=\"button\" class=\"faq_question\" aria-expanded=\"false\">\n                    <span class=\"faq_question_text\">Can I use any image as a style reference?<\/span>\n                    <svg class=\"faq_chevron\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                    <\/svg>\n                <\/button>\n                <div class=\"faq_answer\" aria-hidden=\"true\" data-collapsed>\n                    <div class=\"faq_answer_content\"><p>Technically yes, but the results vary enormously. One consistent treatment across the whole frame beats a composite or an image with a dominant subject of its own every time.<\/p>\n<\/div>\n                <\/div>\n                <div class=\"faq_divider\"><\/div>\n            <\/div>\n                    <div class=\"faq_item \">\n                <button type=\"button\" class=\"faq_question\" aria-expanded=\"false\">\n                    <span class=\"faq_question_text\">Why does the workflow return two images?<\/span>\n                    <svg class=\"faq_chevron\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                    <\/svg>\n                <\/button>\n                <div class=\"faq_answer\" aria-hidden=\"true\" data-collapsed>\n                    <div class=\"faq_answer_content\"><p>Because the two models read the same style description differently, one as a surface treatment and one as a setting. Seeing both at once tells you which reading your work actually needs.<\/p>\n<\/div>\n                <\/div>\n                <div class=\"faq_divider\"><\/div>\n            <\/div>\n                    <div class=\"faq_item \">\n                <button type=\"button\" class=\"faq_question\" aria-expanded=\"false\">\n                    <span class=\"faq_question_text\">Do I need to write a prompt?<\/span>\n                    <svg class=\"faq_chevron\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                    <\/svg>\n                <\/button>\n                <div class=\"faq_answer\" aria-hidden=\"true\" data-collapsed>\n                    <div class=\"faq_answer_content\"><p>No. The reference image carries the instruction and the template&#8217;s prompt is already in place. That is the whole advantage of this approach over describing a look in words.<\/p>\n<\/div>\n                <\/div>\n                <div class=\"faq_divider\"><\/div>\n            <\/div>\n                    <div class=\"faq_item \">\n                <button type=\"button\" class=\"faq_question\" aria-expanded=\"false\">\n                    <span class=\"faq_question_text\">What does the Style Analyzer node do?<\/span>\n                    <svg class=\"faq_chevron\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                    <\/svg>\n                <\/button>\n                <div class=\"faq_answer\" aria-hidden=\"true\" data-collapsed>\n                    <div class=\"faq_answer_content\"><p>It turns your reference into a written breakdown of palette, lighting, texture, geometry and mood before anything generates. That written spec is what makes a look reusable across a set rather than a one-off you cannot repeat.<\/p>\n<\/div>\n                <\/div>\n                <div class=\"faq_divider\"><\/div>\n            <\/div>\n            <\/div>\n<\/section>\n\n<script type=\"application\/ld+json\">\n{\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"FAQPage\",\n    \"mainEntity\": [\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Does AI style transfer change my subject?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"It should not. The instruction sent to both models tells them to change only the visual style and never the content. Drift is still possible on faces and fine text, which is exactly why the comparison step matters.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Can I use any image as a style reference?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Technically yes, but the results vary enormously. One consistent treatment across the whole frame beats a composite or an image with a dominant subject of its own every time.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Why does the workflow return two images?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Because the two models read the same style description differently, one as a surface treatment and one as a setting. Seeing both at once tells you which reading your work actually needs.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Do I need to write a prompt?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"No. The reference image carries the instruction and the template&#8217;s prompt is already in place. That is the whole advantage of this approach over describing a look in words.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"What does the Style Analyzer node do?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"It turns your reference into a written breakdown of palette, lighting, texture, geometry and mood before anything generates. That written spec is what makes a look reusable across a set rather than a one-off you cannot repeat.\"\n            }\n        }\n    ]\n}<\/script>\n\n<script>\n(function() {\n    var container = document.getElementById('faq-faq-6ab3f86cc9941');\n    if (!container) return;\n\n    var items = container.querySelectorAll('.faq_item');\n    items.forEach(function(item) {\n        var button = item.querySelector('.faq_question');\n        var answer = item.querySelector('.faq_answer');\n        if (!button || !answer) return;\n\n        button.addEventListener('click', function() {\n            var isActive = item.classList.contains('faq_item--active');\n\n            if (isActive) {\n                item.classList.remove('faq_item--active');\n                button.setAttribute('aria-expanded', 'false');\n                answer.setAttribute('aria-hidden', 'true');\n                answer.setAttribute('data-collapsed', '');\n            } else {\n                items.forEach(function(other) {\n                    var otherBtn = other.querySelector('.faq_question');\n                    var otherAnswer = other.querySelector('.faq_answer');\n                    other.classList.remove('faq_item--active');\n                    if (otherBtn) otherBtn.setAttribute('aria-expanded', 'false');\n                    if (otherAnswer) {\n                        otherAnswer.setAttribute('aria-hidden', 'true');\n                        otherAnswer.setAttribute('data-collapsed', '');\n                    }\n                });\n                item.classList.add('faq_item--active');\n                button.setAttribute('aria-expanded', 'true');\n                answer.removeAttribute('data-collapsed');\n                answer.setAttribute('aria-hidden', 'false');\n            }\n        });\n    });\n})();\n<\/script>\n\n<h2><span id=\"Start_with_a_look_you_already_like\">Start with a look you already like<\/span><\/h2>\n<p>The hard part was never the run. It is finding a reference worth borrowing from, and that is a slower and more personal job than it sounds. Find the frame whose look you have quietly wanted for a while, a film still, a print, an illustration you keep going back to, and put your own image beside it.<\/p>\n<p><a href=\"https:\/\/picsart.com\/flow\/templates\/65e8a9d25bba61c1dbbc5abf7000ddfd272827759cb4228b4cfabf703f63c4b9\">Open the Style Extractor template<\/a> and find out what your work looks like made that way.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>AI style transfer applies the look of one image to another without touching what the image shows. You bring a photo and a style reference, and you get your photo back in the reference&#8217;s palette, lighting and texture, with the subject, pose and composition exactly where you left them. The workflow below does it in &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;AI style transfer: how to match a photo to a reference&#8221;<\/span><\/a><\/p>\n","protected":false},"author":146,"featured_media":265608,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_title":"AI style transfer: match a photo to any reference %%page%% %%sep%% %%sitename%%","_yoast_wpseo_metadesc":"Upload a photo and a style reference. One Picsart Flow workflow reads the reference into a style spec, then applies it. Two models, two readings.","faq_show":true,"faq_enable_schema":true,"how_to_show":false,"how_to_show_on_single":false,"how_to_enable_schema":false,"how_to_is_upload":false,"faq_title":"Get answers to common questions","how_to_title":"How to pick a style reference","how_to_layout":"default","how_to_cta_text":"","how_to_cta_url":"https:\/\/picsart.com\/flow\/templates\/65e8a9d25bba61c1dbbc5abf7000ddfd272827759cb4228b4cfabf703f63c4b9","how_to_image_alt":"","how_to_display_image":0,"faq_items":null,"how_to_steps":[],"prompt_box_show":false,"prompt_box_placeholder":"","prompt_box_deeplink":"","prompt_box_submit_label":"","footnotes":""},"categories":[3181,1673],"tags":[3453],"class_list":["post-265629","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-how-tos","tag-picsart-flow","entry"],"acf":{"footer_banner_name":"Start creating","footer_banner_link_":"https:\/\/picsart.com\/flow\/templates\/65e8a9d25bba61c1dbbc5abf7000ddfd272827759cb4228b4cfabf703f63c4b9","footer_banner_button_text_":"Try it now","faq_show":true,"faq_title":"Get answers to common questions","faq_enable_schema":true,"faq_items":[{"question":"Does AI style transfer change my subject?","answer":"It should not. The instruction sent to both models tells them to change only the visual style and never the content. Drift is still possible on faces and fine text, which is exactly why the comparison step matters."},{"question":"Can I use any image as a style reference?","answer":"Technically yes, but the results vary enormously. One consistent treatment across the whole frame beats a composite or an image with a dominant subject of its own every time."},{"question":"Why does the workflow return two images?","answer":"Because the two models read the same style description differently, one as a surface treatment and one as a setting. Seeing both at once tells you which reading your work actually needs."},{"question":"Do I need to write a prompt?","answer":"No. The reference image carries the instruction and the template's prompt is already in place. That is the whole advantage of this approach over describing a look in words."},{"question":"What does the Style Analyzer node do?","answer":"It turns your reference into a written breakdown of palette, lighting, texture, geometry and mood before anything generates. That written spec is what makes a look reusable across a set rather than a one-off you cannot repeat."}],"how_to_show":false,"how_to_show_on_single":false,"how_to_title":"How to pick a style reference","how_to_layout":"default","how_to_steps":null,"how_to_enable_schema":false,"how_to_is_upload":true,"how_to_cta_text":"","how_to_cta_url":"https:\/\/picsart.com\/flow\/templates\/65e8a9d25bba61c1dbbc5abf7000ddfd272827759cb4228b4cfabf703f63c4b9","how_to_display_image":null,"how_to_image_alt":"","prompt_box_show":false,"prompt_box_placeholder":"","prompt_box_deeplink":"https:\/\/picsart.com\/create\/editor?category=miniapps&app=com.picsart.aura","prompt_box_submit_label":"Create","try_prompt_show":false,"try_prompt_title":"Try this prompt","try_prompt_text":"","try_prompt_deeplink":"","tips_show":false,"tips_title":"Tips for best results","tips_items":null,"cta_banner_show":false,"cta_banner_title":"Need more space?","cta_banner_subtitle":"Extend any image in any direction with AI.","cta_banner_button_label":"Expand image","cta_banner_button_url":"","related_tools_title":"Related tools","related_tools_items":null,"post_level":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AI style transfer: match a photo to any reference - Picsart Blog<\/title>\n<meta name=\"description\" content=\"Upload a photo and a style reference. One Picsart Flow workflow reads the reference into a style spec, then applies it. Two models, two readings.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AI style transfer: match a photo to any reference - Picsart Blog\" \/>\n<meta property=\"og:description\" content=\"Upload a photo and a style reference. One Picsart Flow workflow reads the reference into a style spec, then applies it. Two models, two readings.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/\" \/>\n<meta property=\"og:site_name\" content=\"Picsart Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/picsart\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-23T14:11:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdnblog.picsart.com\/2026\/09\/ai-style-transfer-canvas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Julia Tovmasyan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@PicsArtStudio\" \/>\n<meta name=\"twitter:site\" content=\"@PicsArtStudio\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Julia Tovmasyan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AI style transfer: match a photo to any reference - Picsart Blog","description":"Upload a photo and a style reference. One Picsart Flow workflow reads the reference into a style spec, then applies it. Two models, two readings.","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:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/","og_locale":"en_US","og_type":"article","og_title":"AI style transfer: match a photo to any reference - Picsart Blog","og_description":"Upload a photo and a style reference. One Picsart Flow workflow reads the reference into a style spec, then applies it. Two models, two readings.","og_url":"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/","og_site_name":"Picsart Blog","article_publisher":"https:\/\/www.facebook.com\/picsart","article_published_time":"2026-09-23T14:11:55+00:00","og_image":[{"width":1200,"height":800,"url":"https:\/\/cdnblog.picsart.com\/2026\/09\/ai-style-transfer-canvas.png","type":"image\/png"}],"author":"Julia Tovmasyan","twitter_card":"summary_large_image","twitter_creator":"@PicsArtStudio","twitter_site":"@PicsArtStudio","twitter_misc":{"Written by":"Julia Tovmasyan","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/#article","isPartOf":{"@id":"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/"},"author":{"name":"Julia Tovmasyan","@id":"https:\/\/picsart.com\/blog\/ko\/#\/schema\/person\/74b70f3125250c23596a5306775b702d"},"headline":"AI style transfer: how to match a photo to a reference","datePublished":"2026-09-23T14:11:55+00:00","mainEntityOfPage":{"@id":"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/"},"wordCount":1451,"publisher":{"@id":"https:\/\/picsart.com\/blog\/ko\/#organization"},"image":{"@id":"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.picsart.com\/2026\/09\/ai-style-transfer-canvas.png","keywords":["Picsart Flow"],"articleSection":["AI","Tutorials"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/","url":"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/","name":"AI style transfer: match a photo to any reference - Picsart Blog","isPartOf":{"@id":"https:\/\/picsart.com\/blog\/ko\/#website"},"primaryImageOfPage":{"@id":"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/#primaryimage"},"image":{"@id":"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.picsart.com\/2026\/09\/ai-style-transfer-canvas.png","datePublished":"2026-09-23T14:11:55+00:00","description":"Upload a photo and a style reference. One Picsart Flow workflow reads the reference into a style spec, then applies it. Two models, two readings.","breadcrumb":{"@id":"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/#primaryimage","url":"https:\/\/cdnblog.picsart.com\/2026\/09\/ai-style-transfer-canvas.png","contentUrl":"https:\/\/cdnblog.picsart.com\/2026\/09\/ai-style-transfer-canvas.png","width":1200,"height":800},{"@type":"BreadcrumbList","@id":"https:\/\/picsart.com\/blog\/ai-style-transfer-workflow-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/picsart.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AI style transfer: how to match a photo to a reference"}]},{"@type":"WebSite","@id":"https:\/\/picsart.com\/blog\/ko\/#website","url":"https:\/\/picsart.com\/blog\/ko\/","name":"Picsart Blog","description":"Keep up with the latest news in photo editing, digital photography, and art trends.","publisher":{"@id":"https:\/\/picsart.com\/blog\/ko\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/picsart.com\/blog\/ko\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/picsart.com\/blog\/ko\/#organization","name":"PicsArt Inc.","url":"https:\/\/picsart.com\/blog\/ko\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/picsart.com\/blog\/ko\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.picsart.com\/2016\/02\/PicsArt-logo.png","contentUrl":"https:\/\/cdnblog.picsart.com\/2016\/02\/PicsArt-logo.png","width":195,"height":43,"caption":"PicsArt Inc."},"image":{"@id":"https:\/\/picsart.com\/blog\/ko\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/picsart","https:\/\/x.com\/PicsArtStudio","https:\/\/www.instagram.com\/picsart","https:\/\/www.linkedin.com\/company\/picsart-photo-studio","https:\/\/www.pinterest.com\/picsart"]},{"@type":"Person","@id":"https:\/\/picsart.com\/blog\/ko\/#\/schema\/person\/74b70f3125250c23596a5306775b702d","name":"Julia Tovmasyan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/picsart.com\/blog\/ko\/#\/schema\/person\/image\/","url":"https:\/\/cdnblog.picsart.com\/2026\/03\/3285C16C-FD87-4868-A2F0-04B6A0815CE1-150x150.jpg","contentUrl":"https:\/\/cdnblog.picsart.com\/2026\/03\/3285C16C-FD87-4868-A2F0-04B6A0815CE1-150x150.jpg","caption":"Julia Tovmasyan"}}]}},"featured_image":{"url":"https:\/\/cdnblog.picsart.com\/2026\/09\/ai-style-transfer-canvas.png","dimensions":[]},"_links":{"self":[{"href":"https:\/\/picsart.com\/blog\/wp-json\/wp\/v2\/posts\/265629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/picsart.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/picsart.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/picsart.com\/blog\/wp-json\/wp\/v2\/users\/146"}],"replies":[{"embeddable":true,"href":"https:\/\/picsart.com\/blog\/wp-json\/wp\/v2\/comments?post=265629"}],"version-history":[{"count":4,"href":"https:\/\/picsart.com\/blog\/wp-json\/wp\/v2\/posts\/265629\/revisions"}],"predecessor-version":[{"id":265634,"href":"https:\/\/picsart.com\/blog\/wp-json\/wp\/v2\/posts\/265629\/revisions\/265634"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/picsart.com\/blog\/wp-json\/wp\/v2\/media\/265608"}],"wp:attachment":[{"href":"https:\/\/picsart.com\/blog\/wp-json\/wp\/v2\/media?parent=265629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/picsart.com\/blog\/wp-json\/wp\/v2\/categories?post=265629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/picsart.com\/blog\/wp-json\/wp\/v2\/tags?post=265629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}