Spaces:
Running
on
Zero
Running
on
Zero
File size: 6,161 Bytes
47de5be 2d0bc0b 47de5be 2d0bc0b 78d88fa 47de5be 78d88fa 47de5be 78d88fa 47de5be 78d88fa 47de5be 78d88fa 47de5be 78d88fa 47de5be 09f5952 47de5be |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
"""
presets.py - Batch Generation Presets for Qwen Image Editor
Predefined prompt templates that enable batch generation
of images with common variations. Each preset defines a set of related prompts
that can be automatically applied to a base instruction to create multiple
diverse outputs.
Structure:
Each preset contains:
- 'count': Number of images to generate (1-4 depending on the preset and requirements)
- 'prompts': List of template strings to append to the base prompt
- 'description': Human-readable description shown in the UI
Example:
Base prompt: "a red car"
Multiview preset generates:
1. "a red car, frontal view of the subject, facing camera directly"
2. "a red car, left side view of subject, profile view from the left side"
3. "a red car, right side view of subject, profile view from the right side"
4. "a red car, back side view of subject, showing the rear/back view"
Borderless R&D
"""
PRESETS = {
"Multiview": {
"count": 3,
"prompts": [
"frontal view of the subject, facing camera directly",
"side view of subject, profile view from the side",
"dutch angle shot of subject, candid photography"
],
"description": "Generate three different views of the subject"
},
"Style Variations": {
"count": 3,
"prompts": [
"in realistic photography style, high detail",
"in cartoon/anime style, vibrant colors",
"in sketch drawing style, black and white outline"
],
"description": "Apply different artistic styles to the subject"
},
"Lighting Conditions": {
"count": 3,
"prompts": [
"in bright daylight, clear sunny conditions",
"in golden hour lighting, warm sunset glow",
"in studio lighting, professional portrait setup"
],
"description": "Render the subject under different lighting"
},
"Quick Hairstyles": {
"count": 3,
"prompts": [
"with long straight dark hair",
"with short blonde combover",
"with brunette hair tied up into updo style"
],
"description": "Show the subject in different hairstyles"
},
"Seasonal Themes": {
"count": 4,
"prompts": [
"in a snowy winter landscape, snowflakes falling gently",
"in a sunny summer meadow, bright sunshine",
"in a crisp autumn forest, leaves turning orange",
"in a misty spring garden, blooming flowers"
],
"description": "Render the subject in each of the four seasons"
},
"Emotional Mood": {
"count": 4,
"prompts": [
"with a joyful grin, eyes sparkling",
"with a thoughtful expression, slightly furrowed brow",
"with a dramatic, intense stare",
"with a gentle, serene smile"
],
"description": "Show the subject’s emotions in four different moods"
},
"Historical Eras": {
"count": 4,
"prompts": [
"in Victorian England, ornate lace and corset",
"in the 1980s, neon lights and big hair",
"in a medieval castle, knight armor",
"in a futuristic cyber‑punk city, holographic backdrop"
],
"description": "Place the subject in four iconic time periods"
},
"Camera Lens Effects": {
"count": 4,
"prompts": [
"captured with a wide‑angle lens, exaggerated perspective",
"shot with a telephoto lens, shallow depth of field",
"taken with a fisheye lens, circular distortion",
"rendered with a macro lens, extreme close‑up detail"
],
"description": "Play with different lens styles for the same subject"
},
"Fantasy Elements": {
"count": 3,
"prompts": [
"surrounded by a swirling vortex of light",
"hovering above a floating island in the clouds",
"paired with a companion dragon, breathing fire",
],
"description": "Add a fantastical twist to each rendition"
},
"Texture Variations": {
"count": 3,
"prompts": [
"covered in soft velvet, plush texture",
"painted with glossy enamel, shiny finish",
"wrapped in intricate lace patterns",
],
"description": "Show the subject in three distinct surface textures"
},
"Color Palette Swaps": {
"count": 3,
"prompts": [
"in pastel colors, soft hues",
"with neon saturation, high‑contrast glow",
"in monochrome black & white, dramatic contrast"
],
"description": "Recolor the subject with three distinct palettes"
}
}
def get_preset_choices():
"""
Return list of preset choices for Gradio dropdown.
Returns:
list: [None] + list of preset names for dropdown selection
"""
return [None] + list(PRESETS.keys())
def get_preset_info(preset_name):
"""
Get preset configuration by name.
Args:
preset_name (str): Name of the preset to retrieve
Returns:
dict or None: Preset configuration dictionary or None if not found
"""
return PRESETS.get(preset_name, None)
def update_preset_prompt(preset_name, prompt_index, new_prompt):
"""
Update a specific prompt in a preset.
Args:
preset_name (str): Name of the preset to update
prompt_index (int): Index of the prompt to update (0-3)
new_prompt (str): New prompt text
Returns:
dict: Updated PRESETS dictionary
"""
if preset_name in PRESETS and 0 <= prompt_index < len(PRESETS[preset_name]["prompts"]):
PRESETS[preset_name]["prompts"][prompt_index] = new_prompt
return PRESETS[preset_name] if preset_name in PRESETS else None
# To add presets at runtime:
# PRESETS["New Preset Name"] = {
# "count": 2,
# "prompts": ["variation 1", "variation 2"],
# "description": "Description of new preset"
# } |