barria-aicasting-01

Midjourney selected image

barria-aicasting-02

Chat GPT Image 2.0 Before & After refinement constraints and conceptual framework workflow

Subtext Mask — Synthetic Casting System

A visual research project exploring fictional actor generation, identity continuity, and controlled resistance to generative beauty bias.

 

The project began as an experiment in synthetic casting direction. Instead of prompting for beauty, style, or cinematic atmosphere, I built a system around constraints.
The working name was "The Bergman Face" but it was never about Bergman as a period reference. It was shorthand for restraint: the close-up as a place where the face does not perform everything at once.

The process started with visual explorations in Midjourney as text-to-image inputs, not other source or real references were used and then selected outputs were used as anchor portraits. Each anchor was translated through a repeatable casting workflow: visual identity analysis, headshot refinement, expression testing, wardrobe control, and continuity correction.

The objective was to produce castable synthetic identities: faces that remain recognizable across iterations, retain photographic credibility, and allow emotional ambiguity without drifting into generic beauty optimization.

The system was developed through iterative feedback loops using a 8K-character operating instruction, a 12-page casting philosophy bible, and custom instructions.

The result is a modular casting methodology for generative media: a way to develop fictional actors as visual identities rather than isolated images, the mindset and workflow was the goal.

Tools: Midjourney / OpenAI Chat GPT Image 2

Process:
Anchor image selection
Visual "DNA" extraction
Identity-lock refinement
Expression matrix testing
Style explorations for consistency

Midjourney to Chat GPT Image 2 Refinement & Outputs

CT-WLA-2023_ASSGNMT-02V2_CAMILO-BARRIA (1)
2
ChatGPT Image Jun 14, 2026, 07_08_35 PM
ChatGPT Image Jun 15, 2026, 12_10_24 AM
ChatGPT Image Jun 14, 2026, 06_49_46 PM
ChatGPT Image Jun 14, 2026, 06_47_44 PM
ChatGPT Image Jun 14, 2026, 11_37_42 PM
ChatGPT Image Jun 14, 2026, 06_14_55 PM
ChatGPT Image Jun 14, 2026, 11_49_03 PM
ChatGPT Image Jun 14, 2026, 05_45_09 PM
ChatGPT Image Jun 14, 2026, 06_41_28 PM
ChatGPT Image Jun 14, 2026, 06_37_50 PM

Expression Matrix / Final headshots as anchor translated in a variety of emotions / Chat GPT Image 2

3
4
4
6
7

Style Explorations / Consistency test across filmmaking styles using refined headshot and expression matrix as anchors / Chat GPT Image 2

ChatGPT Image Jun 19, 2026, 05_26_39 PM
ChatGPT Image Jun 19, 2026, 04_43_02 PM
ChatGPT Image Jun 19, 2026, 06_29_58 PM
ChatGPT Image Jun 19, 2026, 06_56_18 PM
ChatGPT Image Jun 19, 2026, 06_42_47 PM
ChatGPT Image Jun 19, 2026, 07_29_15 PM (4)
ChatGPT Image Jun 19, 2026, 07_40_01 PM (2)
ChatGPT Image Jun 19, 2026, 07_40_01 PM (1)
Back to top Arrow
var schema = document.createElement('script'); schema.type = 'application/ld+json'; schema.text = JSON.stringify({ "@context": "https://schema.org", "@type": "Person", "name": "Camilo Barria", "alternateName": "IAMBARRIA", "url": "https://www.iambarria.com", "jobTitle": "Creative Art Director", "worksFor": { "@type": "Organization", "name": "IAMBARRIA", "url": "https://www.iambarria.com" }, "homeLocation": { "@type": "Place", "name": "Los Angeles, California" }, "sameAs": [ "https://www.instagram.com/iambarria/" ], "award": [ "Telly Awards – multiple recognitions in branded content and regional TV", "ADCAN Awards – Grand Prix and People's Choice", "Promax/BDA – Gold, Silver, and Bronze honors across multiple years" ], "knowsAbout": [ "Campaign Development", "Broadcast Identity", "Broadcast Branding", "Key Art", "Creative Direction for Visual Content", "Integrated Marketing", "Motion Design", "Branded Content", "Title Design", "Multiplatform Storytelling", "Visual Communication Strategy" ], "publishingPrinciples": "https://www.iambarria.com/about" }); document.addEventListener("DOMContentLoaded", setupLazyVideos); // This line ensures it triggers during Semplice's seamless page transitions if (window.vp && typeof window.vp.on === 'function') { window.vp.on('pageTransitionEnd', setupLazyVideos); }