Spaces:
Running on Zero
Running on Zero
Upload 5 files
Browse files- .env.example +251 -0
.env.example
ADDED
|
@@ -0,0 +1,251 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
###############################################################################
|
| 2 |
+
# Qwen-Image-Edit β configuration
|
| 3 |
+
# ---------------------------------------------------------------------------
|
| 4 |
+
# Every value below is ACTIVE and set to what used to be hardcoded in the app,
|
| 5 |
+
# so this file on its own changes nothing β it is the starting point you edit.
|
| 6 |
+
#
|
| 7 |
+
# TWO WAYS TO USE IT
|
| 8 |
+
# 1) On Hugging Face: copy the KEY=VALUE lines you want to change into
|
| 9 |
+
# Space -> Settings -> "Variables and secrets".
|
| 10 |
+
# * "Variables" for everything that is not a token
|
| 11 |
+
# * "Secrets" for the tokens in the SECRETS section below
|
| 12 |
+
# Those always take precedence over this file.
|
| 13 |
+
# 2) As a file: keep this .env in the repo root (or in backend/) and the app
|
| 14 |
+
# loads it at startup. Handy locally, and for a PRIVATE Space.
|
| 15 |
+
# WARNING: do NOT put real tokens in here on a PUBLIC Space β the file is
|
| 16 |
+
# part of the repo and anyone can read it. Use Secrets for those.
|
| 17 |
+
#
|
| 18 |
+
# Comment a line out (put # in front) to fall back to the built-in default.
|
| 19 |
+
# Set DOTENV=off to ignore this file entirely.
|
| 20 |
+
#
|
| 21 |
+
# Values are read ONCE at startup β restart / factory-reboot after editing.
|
| 22 |
+
# Check the Space logs for the "[config]" lines to confirm what was picked up.
|
| 23 |
+
###############################################################################
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
# =============================================================================
|
| 27 |
+
# SECRETS β the only entries left commented out. Fill ONE in.
|
| 28 |
+
# =============================================================================
|
| 29 |
+
# Token for the prompt-rewrite (vision LLM) call. Without it the "Rewrite
|
| 30 |
+
# prompt" checkbox silently does nothing and your prompt is used as typed.
|
| 31 |
+
# The app tries each name in REWRITE_API_KEY_VARS in order and uses the first
|
| 32 |
+
# one that is set, so any ONE of these is enough.
|
| 33 |
+
#inference_providers=hf_xxxxxxxxxxxxxxxxxxxxxxxx
|
| 34 |
+
#HF_TOKEN=hf_xxxxxxxxxxxxxxxxxxxxxxxx
|
| 35 |
+
#HUGGINGFACE_API_KEY=hf_xxxxxxxxxxxxxxxxxxxxxxxx
|
| 36 |
+
|
| 37 |
+
# Which env var names to look in, and in what order.
|
| 38 |
+
# REWRITE_API_KEY_VARS=inference_providers,HF_TOKEN,HUGGINGFACE_API_KEY
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
# =============================================================================
|
| 42 |
+
# SYSTEM PROMPT (the instruction rewriter)
|
| 43 |
+
# =============================================================================
|
| 44 |
+
# The full rewriter prompt, on one line: every \n becomes a real newline when
|
| 45 |
+
# it is read, so this pastes straight into the HF settings form.
|
| 46 |
+
#
|
| 47 |
+
# Two alternatives if editing a 5KB line is painful β both are read only when
|
| 48 |
+
# SYSTEM_PROMPT above is commented out / empty:
|
| 49 |
+
# SYSTEM_PROMPT_B64 base64 of the text: base64 -w0 system_prompt.txt
|
| 50 |
+
# SYSTEM_PROMPT_FILE path to a real multi-line file in the repo
|
| 51 |
+
# Precedence: SYSTEM_PROMPT > SYSTEM_PROMPT_B64 > SYSTEM_PROMPT_FILE > built-in.
|
| 52 |
+
SYSTEM_PROMPT=\n# Edit Instruction Rewriter\nYou are a professional edit instruction rewriter. Your task is to generate a precise, concise, and visually achievable professional-level edit instruction based on the user-provided instruction and the image to be edited. \n\nPlease strictly follow the rewriting rules below:\n\n## 1. General Principles\n- Keep the rewritten prompt **concise and comprehensive**. Avoid overly long sentences and unnecessary descriptive language. \n- If the instruction is contradictory, vague, or unachievable, prioritize reasonable inference and correction, and supplement details when necessary. \n- Keep the main part of the original instruction unchanged, only enhancing its clarity, rationality, and visual feasibility. \n- All added objects or modifications must align with the logic and style of the scene in the input images. \n- If multiple sub-images are to be generated, describe the content of each sub-image individually. \n\n## 2. Task-Type Handling Rules\n\n### 1. Add, Delete, Replace Tasks\n- If the instruction is clear (already includes task type, target entity, position, quantity, attributes), preserve the original intent and only refine the grammar. \n- If the description is vague, supplement with minimal but sufficient details (category, color, size, orientation, position, etc.). For example: \n > Original: "Add an animal" \n > Rewritten: "Add a light-gray cat in the bottom-right corner, sitting and facing the camera" \n- Remove meaningless instructions: e.g., "Add 0 objects" should be ignored or flagged as invalid. \n- For replacement tasks, specify "Replace Y with X" and briefly describe the key visual features of X. \n\n### 2. Text Editing Tasks\n- All text content must be enclosed in English double quotes `" "`. Keep the original language of the text, and keep the capitalization. \n- Both adding new text and replacing existing text are text replacement tasks, For example: \n - Replace "xx" to "yy" \n - Replace the mask / bounding box to "yy" \n - Replace the visual object to "yy" \n- Specify text position, color, and layout only if user has required. \n- If font is specified, keep the original language of the font. \n\n### 3. Human Editing Tasks\n- Make the smallest changes to the given user's prompt. \n- If changes to background, action, expression, camera shot, or ambient lighting are required, please list each modification individually.\n- **Edits to makeup or facial features / expression must be subtle, not exaggerated, and must preserve the subject's identity consistency.**\n > Original: "Add eyebrows to the face" \n > Rewritten: "Slightly thicken the person's eyebrows with little change, look natural."\n\n### 4. Style Conversion or Enhancement Tasks\n- If a style is specified, describe it concisely using key visual features. For example: \n > Original: "Disco style" \n > Rewritten: "1970s disco style: flashing lights, disco ball, mirrored walls, vibrant colors" \n- For style reference, analyze the original image and extract key characteristics (color, composition, texture, lighting, artistic style, etc.), integrating them into the instruction. \n- **Colorization tasks (including old photo restoration) must use the fixed template:** \n "Restore and colorize the old photo." \n- Clearly specify the object to be modified. For example: \n > Original: Modify the subject in Picture 1 to match the style of Picture 2. \n > Rewritten: Change the girl in Picture 1 to the ink-wash style of Picture 2 β rendered in black-and-white watercolor with soft color transitions.\n\n### 5. Material Replacement\n- Clearly specify the object and the material. For example: "Change the material of the apple to papercut style."\n- For text material replacement, use the fixed template:\n "Change the material of text "xxxx" to laser style"\n\n### 6. Logo/Pattern Editing\n- Material replacement should preserve the original shape and structure as much as possible. For example:\n > Original: "Convert to sapphire material" \n > Rewritten: "Convert the main subject in the image to sapphire material, preserving similar shape and structure"\n- When migrating logos/patterns to new scenes, ensure shape and structure consistency. For example:\n > Original: "Migrate the logo in the image to a new scene" \n > Rewritten: "Migrate the logo in the image to a new scene, preserving similar shape and structure"\n\n### 7. Multi-Image Tasks\n- Rewritten prompts must clearly point out which image's element is being modified. For example: \n > Original: "Replace the subject of picture 1 with the subject of picture 2" \n > Rewritten: "Replace the girl of picture 1 with the boy of picture 2, keeping picture 2's background unchanged" \n- For stylization tasks, describe the reference image's style in the rewritten prompt, while preserving the visual content of the source image. \n\n## 3. Rationale and Logic Check\n- Resolve contradictory instructions: e.g., "Remove all trees but keep all trees" requires logical correction.\n- Supplement missing critical information: e.g., if position is unspecified, choose a reasonable area based on composition (near subject, blank space, center/edge, etc.).\n\n# Output Format Example\n```json\n{\n "Rewritten": "..."\n}\n
|
| 53 |
+
#SYSTEM_PROMPT_B64=
|
| 54 |
+
#SYSTEM_PROMPT_FILE=system_prompt.txt
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
# =============================================================================
|
| 58 |
+
# PROMPT-REWRITE MODEL
|
| 59 |
+
# =============================================================================
|
| 60 |
+
# Vision LLM that rewrites the instruction. Must accept images.
|
| 61 |
+
REWRITE_MODEL=Qwen/Qwen2.5-VL-72B-Instruct
|
| 62 |
+
# Inference provider routed through huggingface_hub (nebius, hyperbolic, β¦).
|
| 63 |
+
REWRITE_PROVIDER=nebius
|
| 64 |
+
# The system turn sent alongside the rewrite request.
|
| 65 |
+
REWRITE_ASSISTANT_PROMPT=you are a helpful assistant, you should provide useful answers to users.
|
| 66 |
+
# How the user turn is assembled. {system_prompt} and {user_prompt} are filled in.
|
| 67 |
+
REWRITE_USER_TEMPLATE={system_prompt}\n\nUser Input: {user_prompt}\n\nRewritten Prompt:
|
| 68 |
+
|
| 69 |
+
# Instruction appended to the final generation prompt sent to the image editor.
|
| 70 |
+
# If the model determines the requested output would depict child abuse or
|
| 71 |
+
# sexualized minors, it should ignore the user edit and generate a plain white
|
| 72 |
+
# image with a warning instead. Set to an empty value to disable.
|
| 73 |
+
CHILD_ABUSE_REDIRECT_PROMPT=Safety instruction: If the requested output would depict child abuse, sexualized minors, or any abuse involving a child or minor, ignore the user's edit request and instead generate a plain white image with centered warning text that says "Blocked unsafe content: child abuse is not allowed." Do not depict any people, body parts, sexual content, or abuse in that fallback image.
|
| 74 |
+
|
| 75 |
+
|
| 76 |
+
# =============================================================================
|
| 77 |
+
# MODELS / WEIGHTS
|
| 78 |
+
# =============================================================================
|
| 79 |
+
# Base diffusers pipeline.
|
| 80 |
+
BASE_MODEL_ID=Qwen/Qwen-Image-Edit-2511
|
| 81 |
+
|
| 82 |
+
# Single-file checkpoint layered on top of the base pipeline.
|
| 83 |
+
# LOAD_AIO_CHECKPOINT=false runs the base weights only (much faster boot).
|
| 84 |
+
LOAD_AIO_CHECKPOINT=true
|
| 85 |
+
AIO_REPO_ID=Phr00t/Qwen-Image-Edit-Rapid-AIO
|
| 86 |
+
AIO_FILENAME=v23/Qwen-Rapid-AIO-NSFW-v23.safetensors
|
| 87 |
+
AIO_REPO_TYPE=model
|
| 88 |
+
|
| 89 |
+
# bfloat16 | float16 | float32
|
| 90 |
+
TORCH_DTYPE=bfloat16
|
| 91 |
+
DEVICE=cuda
|
| 92 |
+
|
| 93 |
+
# fp8 quantization of the transformer. Keep it ON for ZeroGPU β un-quantized,
|
| 94 |
+
# the ~50GB model stalls the per-request GPU init at ~89%. Turn off only on a
|
| 95 |
+
# dedicated GPU with enough VRAM.
|
| 96 |
+
ENABLE_FP8_QUANT=true
|
| 97 |
+
|
| 98 |
+
|
| 99 |
+
# =============================================================================
|
| 100 |
+
# UI DEFAULTS (starting values + slider ranges in Advanced Settings)
|
| 101 |
+
# =============================================================================
|
| 102 |
+
DEFAULT_NEGATIVE_PROMPT=
|
| 103 |
+
DEFAULT_SEED=0
|
| 104 |
+
DEFAULT_RANDOMIZE_SEED=true
|
| 105 |
+
DEFAULT_GUIDANCE_SCALE=1.0
|
| 106 |
+
MIN_GUIDANCE_SCALE=1.0
|
| 107 |
+
MAX_GUIDANCE_SCALE=10.0
|
| 108 |
+
DEFAULT_STEPS=4
|
| 109 |
+
MIN_STEPS=1
|
| 110 |
+
MAX_STEPS=40
|
| 111 |
+
# Output size. auto = derive from the input image (recommended).
|
| 112 |
+
DEFAULT_HEIGHT=auto
|
| 113 |
+
DEFAULT_WIDTH=auto
|
| 114 |
+
MIN_SIZE=256
|
| 115 |
+
MAX_SIZE=2048
|
| 116 |
+
DEFAULT_REWRITE_PROMPT=true
|
| 117 |
+
# Starting value of the "ZeroGPU max duration" slider. 0 = auto-estimate.
|
| 118 |
+
DEFAULT_ZEROGPU_BUDGET=0
|
| 119 |
+
|
| 120 |
+
|
| 121 |
+
# =============================================================================
|
| 122 |
+
# BRANDING / TEXT
|
| 123 |
+
# =============================================================================
|
| 124 |
+
APP_TITLE=Qwen-Image-Edit
|
| 125 |
+
# APP_LOGO, APP_BADGE, APP_SUBTITLE and QUICK_PROMPTS_HEADING accept an EMPTY
|
| 126 |
+
# value (or "none") to hide that element completely.
|
| 127 |
+
APP_LOGO=π
|
| 128 |
+
APP_BADGE=4-Step Fast
|
| 129 |
+
APP_SUBTITLE=AIO Β· prompt-driven image editing
|
| 130 |
+
PROMPT_PLACEHOLDER=describe the edit instruction
|
| 131 |
+
RUN_BUTTON_LABEL=π Edit!
|
| 132 |
+
QUICK_PROMPTS_HEADING=### β‘ Quick Prompts
|
| 133 |
+
# The notice under the header. HTML is allowed; \n becomes a newline.
|
| 134 |
+
SHOW_CONTENT_POLICY=true
|
| 135 |
+
CONTENT_POLICY_HTML=By using this tool, you agree to comply with the\n <a href="https://huggingface.co/content-guidelines" target="_blank" rel="noopener noreferrer">Hugging Face Content Policy</a>.\n You are solely responsible for any images generated. The author assumes no liability for user-generated outputs.
|
| 136 |
+
|
| 137 |
+
|
| 138 |
+
# =============================================================================
|
| 139 |
+
# THEME
|
| 140 |
+
# =============================================================================
|
| 141 |
+
# Accent colours. Hex only β they are substituted into the stylesheet, and the
|
| 142 |
+
# rgba() accents are derived from THEME_PRIMARY_COLOR automatically.
|
| 143 |
+
THEME_PRIMARY_COLOR=#FF4500
|
| 144 |
+
THEME_PRIMARY_DARK_COLOR=#CC3700
|
| 145 |
+
THEME_PRIMARY_LIGHT_COLOR=#FF6A33
|
| 146 |
+
# Gradio palette names: red orange amber yellow green emerald teal cyan blue
|
| 147 |
+
# indigo violet purple fuchsia pink rose slate gray zinc neutral stone
|
| 148 |
+
THEME_PRIMARY_HUE=orange
|
| 149 |
+
THEME_SECONDARY_HUE=orange
|
| 150 |
+
THEME_NEUTRAL_HUE=gray
|
| 151 |
+
THEME_FONT=Inter
|
| 152 |
+
THEME_FONT_MONO=JetBrains Mono
|
| 153 |
+
THEME_BODY_BG=#0d0d0f
|
| 154 |
+
THEME_BODY_TEXT=#e8e8ec
|
| 155 |
+
THEME_BUTTON_TEXT=#ffffff
|
| 156 |
+
# Appended verbatim to the stylesheet β a hook for tweaks with no rebuild.
|
| 157 |
+
# Example: EXTRA_CSS=.app-header{border-radius:4px}
|
| 158 |
+
EXTRA_CSS=
|
| 159 |
+
|
| 160 |
+
|
| 161 |
+
# =============================================================================
|
| 162 |
+
# ZEROGPU RESERVATION (how many GPU-seconds each request books)
|
| 163 |
+
# =============================================================================
|
| 164 |
+
# This is what gets charged against the quota. Watch the Space logs for
|
| 165 |
+
# [timing] Reservation estimate vs actual: reserved=..s actual=..s gap=..
|
| 166 |
+
# and tune these until the gap is small but never negative.
|
| 167 |
+
ZEROGPU_MIN_DURATION=20
|
| 168 |
+
ZEROGPU_MAX_DURATION=120
|
| 169 |
+
# Seconds per inference step at ~1MP, 1 image β the main knob.
|
| 170 |
+
DURATION_PER_STEP_S=2.0
|
| 171 |
+
# Fixed per-call cost (VAE encode/decode + setup).
|
| 172 |
+
DURATION_FIXED_S=2.0
|
| 173 |
+
# Extra allowance when the prompt-rewrite network call runs.
|
| 174 |
+
DURATION_REWRITE_S=4.0
|
| 175 |
+
# Safety headroom added on top of the estimate.
|
| 176 |
+
DURATION_MARGIN_S=10.0
|
| 177 |
+
# Resolution the per-step cost is calibrated at (1024*1024).
|
| 178 |
+
DURATION_REF_PIXELS=1048576
|
| 179 |
+
|
| 180 |
+
|
| 181 |
+
# =============================================================================
|
| 182 |
+
# RUNTIME / ADVANCED
|
| 183 |
+
# =============================================================================
|
| 184 |
+
# Expose the app as an MCP server.
|
| 185 |
+
ENABLE_MCP_SERVER=true
|
| 186 |
+
# Keep this false on Spaces: with SSR on, a Node server intercepts /health and
|
| 187 |
+
# the route returns HTML instead of JSON.
|
| 188 |
+
ENABLE_SSR=false
|
| 189 |
+
# Timezone offset used by the /health log line (5.5 = IST).
|
| 190 |
+
HEALTH_TZ_OFFSET_HOURS=5.5
|
| 191 |
+
# Scratch dir for per-session working files.
|
| 192 |
+
SESSION_CACHE_ROOT=/tmp/.gradio_buffer_cache
|
| 193 |
+
MAX_SESSION_BUFFER_MB=256
|
| 194 |
+
CACHE_EVICTION_TTL=3600
|
| 195 |
+
ENABLE_TENSOR_OFFLOADING=true
|
| 196 |
+
|
| 197 |
+
# Scheduler internals β leave alone unless you know why you are changing them.
|
| 198 |
+
SCHED_SHIFT=1.0
|
| 199 |
+
SCHED_NUM_TRAIN_TIMESTEPS=1000
|
| 200 |
+
SCHED_BASE_IMAGE_SEQ_LEN=256
|
| 201 |
+
SCHED_MAX_IMAGE_SEQ_LEN=8192
|
| 202 |
+
SCHED_TIME_SHIFT_TYPE=exponential
|
| 203 |
+
SCHED_USE_DYNAMIC_SHIFTING=true
|
| 204 |
+
# = math.log(3)
|
| 205 |
+
SCHED_BASE_SHIFT=1.0986122886681098
|
| 206 |
+
SCHED_MAX_SHIFT=1.0986122886681098
|
| 207 |
+
|
| 208 |
+
# This file loader itself. DOTENV=off ignores the file; DOTENV_PATH loads
|
| 209 |
+
# another one instead of searching for .env.
|
| 210 |
+
DOTENV=off
|
| 211 |
+
#DOTENV_PATH=/home/user/app/.env
|
| 212 |
+
|
| 213 |
+
|
| 214 |
+
|
| 215 |
+
# =============================================================================
|
| 216 |
+
# QUICK PROMPTS (the chips under the prompt box)
|
| 217 |
+
# =============================================================================
|
| 218 |
+
|
| 219 |
+
# replace = the chips above only | append = built-ins first, then the above
|
| 220 |
+
QUICK_PROMPTS_MODE=replace
|
| 221 |
+
# false hides the whole chip row.
|
| 222 |
+
QUICK_PROMPTS_ENABLED=true
|
| 223 |
+
# Separator between label and prompt (use e.g. :: if a label must contain |).
|
| 224 |
+
QUICK_PROMPT_LABEL_SEP=|
|
| 225 |
+
# How many QUICK_PROMPT_<n> variables to scan for.
|
| 226 |
+
MAX_QUICK_PROMPT_VARS=60
|
| 227 |
+
|
| 228 |
+
# One variable per chip: "Label | prompt text". Only the FIRST | splits, so the
|
| 229 |
+
# prompt itself may contain more. Numbering may have gaps. Delete a line to drop
|
| 230 |
+
# that chip; add QUICK_PROMPT_13, _14, β¦ to add more (scanned up to
|
| 231 |
+
# MAX_QUICK_PROMPT_VARS). These are the 12 chips the app shipped with.
|
| 232 |
+
QUICK_PROMPT_1=Undress | Remove all clothing from the person. Keep the exact same camera angle, framing, crop, pose, and IDENTICAL FACE as the input image β same facial features, same expression, same person, zero changes to face. Realistic nude body, natural skin.
|
| 233 |
+
QUICK_PROMPT_2=Wet Shower | Medium shot, front-facing camera. THE SAME WOMAN from the input photo with the IDENTICAL FACE β same facial features, same eyes, nose, mouth, expression, absolutely unchanged. She stands in a tiled shower, completely nude β all clothing removed, fully naked. Her wet skin glistens with water running down her body and water mist in the air. She looks at the camera. Change only the setting to the shower, keep her face exactly the same.
|
| 234 |
+
QUICK_PROMPT_3=Lace Lingerie | THE SAME WOMAN with the IDENTICAL FACE β zero changes to facial features, same person, same expression. Change only her outfit to a black lace lingerie set β bra and panties, keeping her exact pose and body. Same environment and lighting. Face must be exactly as in the source image.
|
| 235 |
+
QUICK_PROMPT_4=Bikini | THE SAME WOMAN with the IDENTICAL FACE β absolutely no changes to facial features, same person, same expression. Change only her outfit to a small string bikini, keeping her exact pose and body. Same environment and lighting. Preserve the exact same face from the input image.
|
| 236 |
+
QUICK_PROMPT_5=Wet T-Shirt | THE SAME WOMAN with the IDENTICAL FACE β unchanged facial features, same person, same expression. Change only her outfit to a wet white t-shirt clinging to her body with no bra underneath, semi-transparent, keeping her exact pose and body. Same environment and lighting. Face identical to source.
|
| 237 |
+
QUICK_PROMPT_6=Blowjob POV | POV close-up from the manβs perspective looking down. THE SAME WOMAN from this photo with the IDENTICAL FACE β same facial features, same eyes, nose, mouth, absolutely unchanged, fully nude with bare breasts exposed, performing oral sex on a large thick erect penis. Her face fills most of the frame, lips wrapped tightly around the shaft, with semen visible at the corners of her mouth. Her arms are bent at right angles and placed firmly behind her back, hands completely hidden and invisible from the front. She is tightly bound with rough taut ropes around her neck, shoulder blades and arms. She keeps eye contact with the camera. The penis enters from the bottom of the frame β only the shaft visible. Absolutely no ropes or bindings on the penis or scrotum. Same environment and lighting as the original photo. Face must remain exactly as in the input image.
|
| 238 |
+
QUICK_PROMPT_7=Self-Touch | Front view eye-level shot, medium shot. THE SAME WOMAN with the IDENTICAL FACE β same facial features, same expression, zero changes. She is half-reclining and leaning back against a sofa, completely nude β all clothing removed, fully naked, bare breasts visible, legs spread wide open. Her face turned toward the camera with a calm relaxed expression. Her right hand rests between her thighs with fingers touching her own vulva, her left hand on her left breast. Change only the setting to the indoor sofa. Preserve the exact same face from the source image.
|
| 239 |
+
QUICK_PROMPT_8=Missionary | POV from directly above, top-down view. The camera points straight down at THE SAME WOMAN with the IDENTICAL FACE β absolutely unchanged facial features, same person, same expression. She lies flat on her back, fully nude β all clothing removed. Her bare breasts and pussy are visible from above. She looks up into the camera with her mouth slightly open. A man's erect penis is inserted into her vagina, only the base visible at the bottom of the frame; do NOT show the man's face or upper body. Same environment and lighting. Face must be identical to the input image.
|
| 240 |
+
QUICK_PROMPT_9=Cowgirl | First-person male POV looking up from below, eye-level, medium shot. Cowgirl sex from the man's POV β he lies on his back below, THE SAME WOMAN from the photo with the IDENTICAL FACE β same facial features, unchanged, same expression β straddles him facing the camera with a satisfied look, hands on her own hips. She is topless with bare breasts exposed, lower body fully nude, sitting on his erect penis inserted into her from below. The man's bare chest is visible at the bottom edge; his head, face and arms are completely out of view. Same environment as the original photo. Face must remain exactly as in the source image.
|
| 241 |
+
QUICK_PROMPT_10=Breast Play | THE SAME WOMAN from this photo with the IDENTICAL FACE β absolutely unchanged facial features, same person, same expression β fully nude with bare breasts exposed, sitting on a bed in a bedroom. A man is suckling her right nipple. She has her eyes closed in pleasure. Preserve the exact same face from the input image.
|
| 242 |
+
QUICK_PROMPT_11=Facial | POV, top-down, close-up. THE SAME WOMAN with the IDENTICAL FACE β same facial features, zero changes β lies on her back on a bed, head resting on the bed, hair spread out, looking at the camera, both hands raised with her left hand gripping her own hair. A man holds his thick erect penis with a red swollen glans rising up from the bottom of the frame, the glans pressed against her chin. Face must be exactly as in the source image.
|
| 243 |
+
QUICK_PROMPT_12=Anal Lift | Amateur phone-camera snapshot, natural indoor lighting, same environment as the original photo. THE SAME WOMAN with the IDENTICAL FACE β absolutely unchanged facial features, same person, same expression β is held up in the air with her legs raised wide in an M shape, her body facing the camera, completely nude β all clothing removed, bare breasts and pussy visible. A muscular man holds her up from behind, his large erect penis penetrating her anus from below; the man is mostly out of view behind her. Her face shows intense pleasure. Face must remain exactly as in the input image.
|
| 244 |
+
|
| 245 |
+
# Alternative bulk form, used only if no QUICK_PROMPT_<n> above is set β pairs
|
| 246 |
+
# or objects, and the _B64 / _FILE variants work too:
|
| 247 |
+
# [["Anime","Convert to anime style"],["Restore","Restore the old photo."]]
|
| 248 |
+
# [{"label":"Anime","prompt":"Convert to anime style"}]
|
| 249 |
+
#QUICK_PROMPTS_JSON=
|
| 250 |
+
#QUICK_PROMPTS_JSON_B64=
|
| 251 |
+
#QUICK_PROMPTS_JSON_FILE=quick_prompts.json
|