Rightmove watermark rules: white, 30% opacity, quarter size
Rightmove allows only white, translucent watermarks, at most a quarter of the image and 30% opacity or lower. Check the rule before you brand property photos.

On Rightmove only white, translucent watermarks are allowed, they may be no larger than one quarter of the overall image, and their opacity should be 30% or lower. A watermark is only for preventing image copyright and should carry no further messaging, so no phone numbers or taglines. Anything else is the quickest way to get a listing image rejected, so build the watermark into your export step, not your generation prompt.
The rules are in Rightmove's technical guidelines (January 2026), read on 2026-10-02.
What are the image numbers?
Rightmove's help page gives sizes and ratio along with the guideline watermark rule.
| Item | Value |
|---|---|
| Watermark colour | White, translucent only |
| Watermark size | No larger than one quarter of the overall image |
| Watermark opacity | 30% or lower |
| Watermark content | Copyright protection only; no further messaging |
| Upload ratio | 3:2 |
| Summary results display | 224 x 149 px |
| Property details gallery | 656 x 437 px |
| Largest enlarged view | 1024 px wide or high (1024 x 683 for landscape) |
Should a generated image carry the watermark?
A watermark identifies the photographer, so put it on your real photos. Do not ask an image model to draw a watermark: it will not respect 30% opacity or a quarter size reliably, and Sume's Image API does not take explicit pixel sizes. Apply it afterwards with a script.
A script that applies a compliant mark
This Pillow script pastes a white logo at 25% of the image width (a narrower logo than the quarter-area cap) with 30% opacity.
from PIL import Image
img = Image.open("photo.jpg").convert("RGBA")
mark = Image.open("logo-white.png").convert("RGBA")
w = img.width // 4
mark = mark.resize((w, int(mark.height * w / mark.width)))
alpha = mark.getchannel("A").point(lambda a: int(a * 0.3))
mark.putalpha(alpha)
x = img.width - mark.width - 24
y = img.height - mark.height - 24
img.alpha_composite(mark, (x, y))
img.convert("RGB").save("photo-marked.jpg", quality=92)
print("saved", img.size)
Sources
Related posts
More in Use cases
- Run one video prompt across five Sume models: a Python bake-off
Submit the same prompt to five Sume video models, choose each model's resolution from the catalog, and compare cost and time. Runnable code under 30 lines.
- Yearbook slideshow video: photos, narration and music in one render
Build a 90-second class slideshow: 18 photos on a Timeline 1.0 spine with fades, TTS narration, and a Music Router bed. Costs worked out, with limits.
- Score a multi-scene video with AI music: tempo, key, lead instrument
How to brief Sume Music for a video with several scenes: one consistent score or contrasting cues, with tempo, key and lead-instrument rules from the docs.
- Seedance 2.5 4 free generations ended: test it cheaply at 480p
Dreamina's four free Seedance 2.5 generations were a three-day promotion that has closed. How to try Seedance 2.5 on Sume with a short, low-resolution clip.
Written by Sume