Install
openclaw skills install @runware/photoreal-stillsGenerate images that read as real photographs, not AI renders: candid portraits, editorial, documentary, food, architectural, lifestyle. Use when the user says "make it look like a real photo", "this looks too AI", "less plastic skin", "shot on film", "candid not posed", "photorealistic", or wants stock-style, reportage, or interior shots that pass for a camera capture. For a product or packshot specifically (white background, hero, e-commerce), use product-photography instead. When exact lettering matters, use text-in-image.
openclaw skills install @runware/photoreal-stillsProduce still images that a person would believe came out of a camera, not a model. The hard part is not resolution, it is defeating the "AI look": waxy skin, plastic textures, eerie symmetry, blown-out studio light, and over-saturated everything. The lever is prompting for real optical and lighting behavior plus deliberate imperfection, then judging the result against an is-this-a-photo bar.
bfl:7@1), flagship text-to-image with the strongest prompt adherence and the most convincing micro-texture and lighting. Best general pick for photoreal.alibaba:qwen-image@2.0-pro), high visual fidelity and reliable text/iconography, good for editorial and lifestyle frames that include signage or packaging.bytedance:seedream@4.5) for high-fidelity 2K to 4K, or Seedream 5.0 Lite (bytedance:seedream@5.0-lite) as a cheaper, faster draft tier.live and inspect its schema before calling. Use runware-models (live lookup) + runware-run. Never hardcode a stale choice. Models change weekly.runware-run. Confirm field names (dimensions/aspect ratio, steps, guidance, seed, output format) against the live schema, do not assume them.imageInference synchronously (stills are fast). Request a small batch (3 to 4) rather than one. Photoreal is a numbers game, you pick the most believable frame.This is the core of the skill: an anti-"AI-look" checklist. AI renders fail in predictable ways. Counter each one explicitly. For prompt phrasing per model family, lean on runware-prompting.
Build the prompt in this order so nothing gets dropped:
Skipping any one of these is usually exactly where the frame goes synthetic.
Specify the camera, not just the scene. A photo is made by a specific lens on a specific sensor. Name them.
Defeat the plastic-skin / over-smoothed texture failure. This is the #1 tell.
Break the symmetry and the perfection. Real frames are slightly off. Perfect things look fake.
Use real light, not generic studio light. Flat, even, shadowless lighting is an AI signature.
Hold back saturation and contrast. AI over-cooks color.
Fix the small structural tells. Beyond skin and light, these quietly betray a render:
Genre defaults, as starting points:
runware-run) and never guess.runware-prompting for inline-vs-field negation.The one question: would a person scrolling believe this is a photo, not a render? Reject the frame if any of these is true:
A pass has visible texture, directional real light, restrained color, a candid or imperfect framing, and at least one small honest imperfection. When a frame fails, fix it by adding the missing real-world cue (grain, a named light, skin texture, asymmetry), not by upscaling.
runware-run, runware-models, runware-prompting; product-photography (product-in-context and packshots), and character-consistency (keep the same face across a photoreal set).