Coverage for apps/streamcast/podcast_prompts.py: 100%
7 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-09 04:47 +0000
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-09 04:47 +0000
1"""Prompts for image and video generation in StreamCast."""
3IMG_PROMPT_BASE = """
4Medium shot with a balanced composition where each person occupies less than 1/4 of the shot.
5Can clearly see the faces of all characters so one can zoom into their faces.
6Highly photorealistic photograph.
7Ultra-detailed, cinematic, true-to-life photograph.
8Captured with a Canon EOS R5, 35mm f/2.8 lens, shallow depth of field, realistic skin texture,
9natural facial expressions, detailed hair, and lifelike clothing fabric.
10""".strip()
11IMG_PROMPT = """
12A photorealistic podcast setup featuring a woman and a man sitting across each other at a wooden table in a
13professional recording studio.
14The studio has red acoustic panels on the walls, warm lighting, and a large off screen in the background.
15Both wear headphones and speak into high-quality podcast microphones mounted on adjustable arms.
16Scene captured from a slightly elevated front-facing perspective, showing their upper bodies and expressive
17gestures as they engage in conversation.
18Table equipped with coffee mugs, water bottles, and recording equipment.
19""".strip()
20IMG_PROMPT += " " + IMG_PROMPT_BASE
21IMG_NEG_PROMPT = """camera move, fancy lights, cartoon, illustration, anime, 3D render, CGI, digital art, painting,
22smooth plastic skin, waxy texture, low detail, overexposed, blurred faces, uncanny valley"""
24IMG_ZOOM_PROMPT = """
25Zoom of the main person in the image.
26Just the main person and no other people are visible.
27Crop into a medium close-up of a single speaker at eye level, framed from chest up with soft background blur,
28positioned slightly to one side of the frame to preserve conversational eyeline.
29""".strip()
30# A high-resolution DSLR photo, natural skin texture, lifelike detail,
31# cinematic portrait lighting, shallow depth of field.
32# Realistic human appearance.
34# Example: The "woman" on the "left" is speaking while the rest listens.
35VIDEO_PROMPT = """
36The %s on the %s is speaking while the rest listens.
37The framing is static and symmetrical.
38The background remains fixed.
39The camera does not move and is completely still.
40The shot is locked off, tripod-mounted, with no movement.
41The lighting is consistent and neutral.
42The colors remain stable across all frames.
43""".strip()
44VIDEO_NEG_PROMPT = """
45camera movement, shaky cam, zoom, pan, tilt, flashy lights, jitter, dolly shot, handheld,
46color shift, lighting flicker, exposure change, hue variation
47""".strip()