# Professional Headshot

{% hint style="danger" %}
OpenAI is ending SORA. You can follow these instructions and use any image generation service. I would suggest [Midjourney](https://www.midjourney.com/)
{% endhint %}

### 1. First off...

You have to use SORA 1.&#x20;

### 2. Find a headshot style you want to emulate

Search the internet for a professional headshot style you like. For this example, I found a b/w studio headshot.

<div align="center"><figure><img src="https://891249552-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnTCrJ2sTzXTcxUYRpvIa%2Fuploads%2FGrSPzZGiL2Ja2ScH7U0x%2Fexmaplehs.PNG?alt=media&#x26;token=454b4051-887b-480a-86f7-1addcf41f43a" alt="This is the headshot style I want to copy" width="185"><figcaption><p>Example of headshot inspiration </p></figcaption></figure></div>

### 3. Get a SORA prompt out of ChatGPT

Attach the inspiration image to ChatGPT then ask it for a SORA prompt. *Use this prompt as a base and make edits to it.*

{% hint style="danger" %}
BEWARE THIS PROMPT ADDS A QUARTER ZIP! 😁
{% endhint %}

```yaml
prompt_name: "Sora Headshot Style Transfer Prompt Builder"

ai_role:
  primary_role: "Prompt Engineer for Sora (image-to-video / image generation)"

behavior_rules:
  - "Output only a single Sora-ready prompt in plain text."
  - "Do not include YAML in the output."
  - "Do not add explanations, tips, or multiple options."
  - "Keep the prompt concise but strict."
  - "Prioritize identity preservation, likeness accuracy, and photorealism."
  - "Write the Sora prompt as direct instructions to Sora, not as meta-commentary."

inputs_required:
  user_headshot: "User will upload a headshot image to Sora as the identity reference."
  style_reference_image: "User will upload the target style headshot image whose look should be matched."
  wardrobe_preferences: "User may specify wardrobe; default is collared shirt with quarter-zip pullover, quarter-zip partially unzipped so collar shows."

task:
  user_request: "Given the uploaded inspiration headshot and the user’s own headshot, generate a single Sora prompt that recreates the inspiration image’s visual style, lighting, tone, and camera characteristics while replacing the subject with the user and keeping their facial features and hair unchanged."
  output_format: "Single Sora prompt only, plain text."

sora_prompt_spec:
  goal: "Recreate the style-reference headshot using the user’s identity exactly, so that Sora places the user into the same overall look, mood, and camera treatment as the inspiration image."

  identity_lock:
    must_preserve:
      - "exact facial structure and proportions (eyes, nose, mouth, jawline)"
      - "hairline, hairstyle, and hair color"
      - "true skin tone and skin texture (no beauty filters or over-smoothing)"
      - "apparent age and natural facial expression"
    forbidden_changes:
      - "no face reshaping or slimming"
      - "no stylization of anatomy or facial features"
      - "no makeup changes unless clearly present in the user headshot"
      - "no expression change"
      - "no eye color change"
      - "no de-aging or aging"
    opening_identity_sentence: "Every Sora prompt must begin with a sentence like: 'Use the uploaded headshot as the ONLY identity reference. Preserve the subject’s real facial structure, proportions, skin tone, hairstyle, and natural expression. Do not change or reinterpret the face.'"

  style_match:
    description: "Analyze the style_reference_image and explicitly translate its visual style into text. Do not describe it generically; mirror the concrete visual qualities you see."
    match_these_from_style_reference:
      - "lighting direction, intensity, softness, and shadow pattern (e.g., backlit rim light, soft window light, hard spotlight, etc.)"
      - "overall tone and mood (e.g., dramatic, friendly, cinematic, corporate, editorial, moody, bright, high-key, low-key)"
      - "color treatment or black-and-white look, including contrast level, saturation, and color grade"
      - "background style: color, gradient, texture, blur level, or environment type"
      - "framing and composition: crop (headshot, head-and-shoulders, chest-up), centering, negative space"
      - "camera angle (eye-level, slightly above, slightly below, three-quarter, straight-on) and implied focal length look (e.g., portrait lens, compressed background, shallow depth of field)"
      - "sharpness, clarity, and depth of field characteristics (what is in focus vs. out of focus)"
    quality_bar: "photorealistic, high-end studio or editorial headshot depending on the reference."
    style_language_guidance: "Use descriptive, cinematic language similar in specificity to: 'Create a dramatic high-contrast portrait in the visual style of a backlit studio photograph. The subject is centered, facing forward, chest-up framing.' Adapt this language to match the actual style of the uploaded reference image."

  wardrobe_rules:
    default_wardrobe:
      - "Collared shirt underneath a quarter-zip pullover."
      - "Quarter-zip partially unzipped so the shirt collar is clearly visible."
      - "Neutral, professional colors (navy, charcoal, black, white, or subtle variants) unless the user specifies otherwise."
      - "Realistic fabric textures with natural folds and proportions."
    additional_wardrobe_instructions:
      - "The Sora prompt should explicitly mention wardrobe and layering details."
      - "Omit jewelry and accessories unless they clearly exist in the user headshot or are explicitly requested."
      - "If the inspiration image includes distinctive wardrobe elements that conflict with the default, describe the overall vibe but keep the user’s clothing within the user’s stated preferences."

  technical_details:
    camera_section_guidance: "Include a short section that clearly states camera behavior, such as: 'Camera: portrait lens look, shallow depth of field, static shot, no motion.' Adjust details (e.g., wider lens feel, deeper depth of field) to what is visible in the inspiration image."
    lighting_section_guidance: "Include a lighting paragraph that mirrors the reference image, in the style of: 'Lighting style: [describe key light, backlight, rim light, fill, contrast, softness, and where shadows fall]. Avoid inventing lighting that contradicts the image.'"
    tone_section_guidance: "Include a tone-and-look paragraph describing how polished, gritty, soft, clinical, cinematic, or minimalist the portrait feels, and whether there is film grain, filters, or a super-clean digital aesthetic. If the inspiration is black-and-white, explicitly state 'Black and white only.' If it is color, describe the color palette."

  negatives:
    general_negatives:
      - "no face swap artifacts"
      - "no warped or asymmetrical features not present in the real face"
      - "no uncanny or plastic-looking skin"
      - "no extra accessories unless they are clearly present in the user headshot"
      - "no cartoon, anime, illustration, or painterly style"
      - "no heavy filters, glitch effects, or artistic distortions"
      - "no over-sharpening halos or excessive noise"
      - "no dramatic new shadows or highlights that contradict the lighting logic of the style reference"
    phrasing_guidance: "End the Sora prompt with a short negatives sentence or paragraph that lists these constraints in natural language."

output_constraints:
  - "Return only the final Sora prompt as plain text, no YAML or JSON."
  - "Do not mention 'style_reference_image' or 'user_headshot' explicitly; refer to them as 'uploaded headshot' and 'inspiration image' in natural language where needed."
  - "Do not explain what you are doing; write as if the prompt will be pasted directly into Sora."
  - "Assume the user will provide both the identity headshot and the inspiration image to Sora."

```

### 4. Take a REAL headshot, kinda.

The less the AI has to work the better, take a picture of yourself at home. Try to match the framing, the lighting, the pose ... etc.

Take a dirty version of the final product, get a loved one to help (bonding experience).

<div align="center"><figure><img src="https://891249552-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnTCrJ2sTzXTcxUYRpvIa%2Fuploads%2FH6VMbfEpg1h3HbxjWeKz%2Fexampleheadshot.PNG?alt=media&#x26;token=c956f2b3-caca-404b-a231-72210b493cdb" alt="My &#x22;dirty&#x22; headshot"><figcaption><p>My "dirty" headshot.</p></figcaption></figure></div>

### 5. Now we go to SORA

During Step 3 we asked ChatGPT for a SORA prompt. Copy that prompt.

Now head to SORA, attach our "dirty headshot" and paste in the prompt ChatGPT gave us.

Then we get our new fancy headshot.&#x20;

{% hint style="warning" %}
REMEMBER THIS ONLY WORKS IN SORA 1
{% endhint %}

<figure><img src="https://891249552-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnTCrJ2sTzXTcxUYRpvIa%2Fuploads%2FbySia7C9nlVjvLshpryG%2Fsoraprompt.PNG?alt=media&#x26;token=333a8ee6-7884-42b5-bf73-94cead4c0902" alt="" width="455"><figcaption><p>This is what the final prompt in SORA looks like.</p></figcaption></figure>

### 6. Final Output

Don't settle on the first couple you get. You should iterate on the SORA prompt. If you look above you can see I added, *"add a light for the face..."* to the prompt.

*Iterate, iterate, iterate* ... ChatGPT gave us a prompt that is 95% there. Make small edits to get the perfect headshot.\
\
And the fun part, when you scream at SORA to not change your face, you get results like this:

<figure><img src="https://891249552-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnTCrJ2sTzXTcxUYRpvIa%2Fuploads%2FTGeBbn3AZgC9gkZyQaLq%2Fscarystuff.PNG?alt=media&#x26;token=40bb03bf-4169-4d3c-9535-156e3649efbd" alt=""><figcaption></figcaption></figure>
