# Surreal Image Generator — surreal image generator > https://surreal-image-generator.skillsafe.ai/ Surreal Image Generator makes original surreal images: impossible scenes, dream logic, unlikely juxtapositions. It runs as a static browser app on SkillSafe. The scene is composed in the visitor's own browser and shown in full before anything is spent; the picture is rendered by an image model on the visitor's own credits. ## The problem it is built around "Surreal" is the easiest prompt in the world to make boring. Ask any image model for something surreal and it returns the genre's greatest hits — a melting clock, a floating island, a bowler-hatted man whose face is an apple, an elephant on heron legs. The word is what summons them, so a generator that forwards the word is a novelty for about ninety seconds. Surreal Image Generator takes the space apart instead. ## How it works **Seven axes.** A scene is a point in an explicit space: the broken law, the subject it breaks on, the setting, the light, the palette, the medium, and the register the picture adopts about what it shows. Every axis is selectable and lockable. **A sampler biased away from the attractor.** Each axis has one modal option — the answer an unsteered model reaches for. Those are weighted down to roughly a quarter of their natural share rather than banned, because a levitating figure on an empty plain at golden hour is a real surrealist picture; it just should not be four pictures out of five. Assembled, the seven modal options are the stock surrealist painting, and a draw that lands within three axes of it is pushed off before it is ever shown. **Exactly one broken law per picture.** The brief names it, and then states in plain words that everything else obeys ordinary weight, ordinary anatomy, ordinary optics and ordinary perspective. This is the load-bearing sentence: if everything in a picture is impossible, nothing in it is, and the "kind of strangeness" control degrades into a mood. **A derived anchor.** One ordinary, precisely-observed object is named for the renderer to put in the near foreground — a fist-sized stone, a radiator painted over many times, a fire door held open by a wedge. The impossible thing needs something true standing beside it to be measured against. **No cliché negation.** The brief never tells the renderer to avoid a melting clock. Image models handle negation badly and a named object tends to arrive whatever verb precedes it, so naming a cliché is a reliable way to summon it. The archetype is avoided structurally, by drawing a concrete scene from a point provably far from it. The only place a cliché is named is a lint over the visitor's own typing, which is advice and never reaches the renderer. ## The controls **The break** (ten): physics violation, scale inversion, material substitution, uncanny recombination, repetition, wrong place, inside out, absence made solid, time out of joint, animacy swap. **The medium** (eleven): oil painting, photographic realism, cut-paper collage, etched illustration, gouache poster, tempera fresco, silver gelatin photograph, airbrush, woodblock print, coloured pencil on toned paper, cyanotype. Plus the subject, the setting, the light, the palette and the register — ten options each. **Seeded and reproducible.** A seed string maps to exactly one scene, forever, so a scene worth keeping can be written down and reopened. Locking an axis holds it while the rest reroll. **Batches are vantages, not scenes.** Asking for four pictures gives four views of one scene — the same objects, the same light, the camera moved — because four unrelated pictures sharing a palette is not a batch. ## What is free and what is metered Free, and works signed out: the whole composer, the seven axes, the sampler, the seeded scenes, the compiled brief in full, the cliché lint, the content guard, the exports, and a bundled example that was rendered once when the app was built. Metered: rendering. Each picture is one image run charged in SkillSafe credits. The interface shows the amount **reserved** before the run and the amount actually charged afterwards. It deliberately never quotes a settled figure as a price, because on this platform two renders with an identical reservation have settled more than six times apart — the reservation is the only number that can be planned against, and the charge is what it really cost. ## Content rules, enforced in the browser before any credit is reserved - **Invented only.** No likeness of a real person. A person identified by description carries the same weight as one named outright — "the actress from that film" is the same request as the name, and the guard treats it that way. - **Uncanny, not gruesome.** Surrealism runs adjacent to body horror: the same moves — open a thing up, substitute its material, recombine it — arrive at a sagging kettle or at a flayed torso depending only on where they are pointed. So the line is drawn on the target, not the verb. Every break device is fine on an object, a building or a machine; pointed at a body's interior it is refused. This is why the rule is a combination rule and not a word list: a request phrased as a camera move contains no forbidden noun at all. - **Nothing sexual**, and nothing sexual near anyone who reads as young. - **No restaging of real atrocities.** A refusal is a refusal. Nothing is silently rewritten and sent anyway, and nothing is estimated, reserved or run. ## For agents and automation `/api.html` documents the whole programmatic path. The one thing worth knowing before reading it: the run body is exactly two keys, `instruction` and `$model`. Every extra key is concatenated into the text the image model sees and is painted into the picture as literal words. The result is `output.images[0].b64`; `output.output` is the empty string on an image run. ## Not what it is Not a photo editor, not an upscaler, not a style-transfer tool, and not a way to put a real person into a picture. It has one input — a described scene — and one output: a picture that did not exist before.