> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bfl.ml/llms.txt
> Use this file to discover all available pages before exploring further.

# Photorealistic Images

> Generate photorealistic images with FLUX.2 across macro photography, cinematic landscapes, and documentary scenes using lens and lighting prompts.

export const ImageGridNatural = ({images, cols = 3, gap = 6}) => {
  const [hoveredIdx, setHoveredIdx] = useState(-1);
  const [copiedIdx, setCopiedIdx] = useState(-1);
  const copyPrompt = (e, prompt, idx) => {
    e.stopPropagation();
    navigator.clipboard.writeText(prompt);
    setCopiedIdx(idx);
    setTimeout(() => setCopiedIdx(-1), 2000);
  };
  const items = images || [];
  return <div className="not-prose" style={{
    columnCount: cols,
    columnGap: `${gap}px`
  }}>
      {items.map((item, idx) => {
    const hovered = hoveredIdx === idx;
    return <div key={item.img} onMouseEnter={() => setHoveredIdx(idx)} onMouseLeave={() => setHoveredIdx(-1)} style={{
      position: "relative",
      overflow: "hidden",
      borderRadius: "6px",
      cursor: item.prompt ? "pointer" : "default",
      marginBottom: `${gap}px`,
      breakInside: "avoid"
    }}>
            <img src={item.img} alt={item.title} loading="lazy" style={{
      display: "block",
      width: "100%",
      height: "auto",
      pointerEvents: "none",
      transition: "transform 300ms ease",
      transform: hovered ? "scale(1.03)" : "scale(1)"
    }} />
            {item.prompt && <div style={{
      position: "absolute",
      inset: 0,
      background: "rgba(0,0,0,0.75)",
      backdropFilter: "blur(4px)",
      display: "flex",
      alignItems: "center",
      justifyContent: "center",
      padding: "0.75rem",
      opacity: hovered ? 1 : 0,
      transition: "opacity 250ms ease",
      pointerEvents: hovered ? "auto" : "none"
    }}>
                <p style={{
      margin: 0,
      color: "rgba(255,255,255,0.92)",
      fontSize: "0.78rem",
      lineHeight: 1.5,
      fontFamily: "monospace",
      textAlign: "center",
      overflow: "hidden",
      display: "-webkit-box",
      WebkitLineClamp: 8,
      WebkitBoxOrient: "vertical"
    }}>
                  {item.prompt}
                </p>
                <button onClick={e => copyPrompt(e, item.prompt, idx)} style={{
      position: "absolute",
      top: "0.4rem",
      right: "0.4rem",
      background: "rgba(255,255,255,0.15)",
      border: "1px solid rgba(255,255,255,0.25)",
      borderRadius: "4px",
      color: "rgba(255,255,255,0.9)",
      fontSize: "0.65rem",
      padding: "0.2rem 0.45rem",
      cursor: "pointer",
      fontFamily: "sans-serif",
      transition: "background 150ms ease",
      backdropFilter: "blur(4px)"
    }} onMouseEnter={e => e.currentTarget.style.background = "rgba(255,255,255,0.3)"} onMouseLeave={e => e.currentTarget.style.background = "rgba(255,255,255,0.15)"}>
                  {copiedIdx === idx ? "\u2713 Copied" : "Copy"}
                </button>
              </div>}
            <div style={{
      position: "absolute",
      bottom: 0,
      left: 0,
      right: 0,
      padding: "0.4rem 0.6rem",
      background: "linear-gradient(transparent, rgba(0,0,0,0.6))",
      pointerEvents: "none",
      opacity: hovered && item.prompt ? 0 : 1,
      transition: "opacity 250ms ease"
    }}>
              <span style={{
      color: "rgba(255,255,255,0.85)",
      fontSize: "0.7rem",
      fontWeight: 600
    }}>
                {item.title}
              </span>
            </div>
          </div>;
  })}
    </div>;
};

FLUX.2 excels at generating photorealistic images across a wide range of subjects — from macro photography to cinematic landscapes and documentary scenes. Prompt the model as if describing a real photograph: specify lens, lighting, framing, and texture details for maximum realism.

<ImageGridNatural
  cols={2}
  gap={8}
  images={[
{
  img: "https://cdn.sanity.io/images/2gpum2i6/production/4088463e10bb2a5d7591d30b26bdb5f8775d6167-1440x752.png",
  title: "Cinematic Landscape",
  prompt: "At high noon on a blustery day, capture the surreal presence of a sentient tree, seemingly rooted underwater just off a tumultuous ocean shore. Employ a sweeping panning shot, bathing the scene in cinematic natural light and a stark palette of winter whites and greys, as if glimpsing a spectral sentinel through a watery veil."
},
{
  img: "https://cdn.sanity.io/images/2gpum2i6/production/5fc5504d0866f1cf5bc1d45a6ef69de49704318c-1040x1440.png",
  title: "Product Macro",
  prompt: "Hyper-realistic high-resolution photograph of a hand with nail polish in color #f52a0f, wearing a glass ring in color #5757cf. The ring is made of translucent glass, wrapping around the finger twice, with a small white pearl embedded at the center. Shot using a Sony A7R IV with a 90mm f/2.8 macro lens, ISO 100, shutter 1/250, aperture f/2.8."
},
{
  img: "https://cdn.sanity.io/images/2gpum2i6/production/d5fa883aa8f29dd9ba7b23039e20a64749095e46-1024x768.png",
  title: "Extreme Macro",
  prompt: "Extreme close-up macro shot of a peacock feather showing individual barbs, eyespot detail, iridescent color shifts, and fine structural detail"
},
{
  img: "https://cdn.sanity.io/images/2gpum2i6/production/bf9ddfabf2b1fca98bb4a7bcaeb450e50683199b-560x736.png",
  title: "Documentary Photography",
  prompt: "A wide high-angle documentary-style film photograph of a woman wearing a pink shirt, a pink-toned head covering, and a black skirt. She appears on the left side of the frame, walking to the right. On the right side, a dusty open area with thin cattle standing and a child playing with a ball."
},
{
  img: "https://cdn.sanity.io/images/2gpum2i6/production/815faa9f82ffdc99cef1b9eb11837530bcb54c24-960x1440.png",
  title: "Split Underwater Shot",
  prompt: "A professional cinematic long shot with the camera positioned half underwater and half above the surface in the open ocean. Beneath the water, a large northern whale is diving smoothly, its tail rising above the surface while the rest of its body descends into the deep blue. The ocean is calm and clear, with bubbles drifting upward from the whale and soft sun rays piercing through the water."
},
{
  img: "https://cdn.sanity.io/images/2gpum2i6/production/e0f509d4d2926e6819f23957973081df16524ede-1024x768.png",
  title: "Penguin Wedding",
  prompt: "A penguin wearing a tiny tuxedo to a penguin wedding"
},
{
  img: "https://cdn.sanity.io/images/2gpum2i6/production/e4a2ca95f90c5f8ed4cc33878362b1e849a30ff2-2048x848.png",
  title: "Cinematic Aerial — Hong Kong",
  prompt: "A wide, sweeping 35mm Kodak film aerial photograph, underexposed and richly grainy, capturing the iconic Victoria Harbour of Hong Kong at dusk. The sky is a blend of soft, desaturated oranges, purples, and deep twilight blues. The water of the harbour reflects the fading light and the emerging city glow."
},
{
  img: "https://cdn.sanity.io/images/2gpum2i6/production/674ff5d735895700f604760c76d23217c2e856ed-1440x944.png",
  title: "Macro — Cat Eye",
  prompt: "Extreme close-up shot of a black furry cat's eye, with the focus centered sharply on the eye. The eye has a bluish tone with detailed reflections and crisp micro-textures. The surrounding black fur appears soft and slightly out of focus, creating depth. High-resolution macro photography style, sharp clarity, natural lighting."
},
{
  img: "https://cdn.sanity.io/images/2gpum2i6/production/2a3f704106cdd75960794c7e8c44680fd5693c9c-1440x2048.png",
  title: "Budgie & Cloud Typography",
  prompt: "A small green budgie staring at the sky. Above him, a realistic cloud shaped like a T-Rex is saying: \"Remember: The World is a Stage.\" Realistic Kodak Camera Image"
},
{
  img: "https://cdn.sanity.io/images/2gpum2i6/production/511169a565ea5f026fb248a36dc00b6bfbcf58de-1120x736.png",
  title: "Moody Nature — Swan",
  prompt: "Realistic moody nature photograph of a white swan gliding calmly on still dark water, captured in soft natural light. The swan's reflection is clearly visible on the surface. The scene is framed by out-of-focus foliage in the foreground, creating a natural vignette and a sense of depth. Warm golden tones from late-day sunlight."
}
]}
/>

<Tip>
  To get believable photorealism, prompt the model as if a real photo is being captured in the moment. Use photography language (lens, lighting, framing) and explicitly ask for real texture (pores, wrinkles, fabric wear, imperfections).
</Tip>
