Skip to main content
Image displays a bitmap, system symbol, or inline SVG from a URL, an asset name, or base64 data. Video plays remote or local video with autoplay, muting, looping, and controls options. Model3D renders an interactive 3D model with optional camera controls and auto-rotation.

Image

Displays an image from a URL, asset name, system icon, or inline SVG.
The ImageProps type is a union requiring exactly one image source, plus an optional contentMode:
"fit" | "fill"
How the image should be scaled to fit its container.
string
Name of an image asset in the app bundle.
string
Name of a system-provided symbol (SF Symbols on iOS).
string
URL of a remote image to load.
string
Base64-encoded image data.
string
Inline SVG markup as a string.
The Image component returns an extended Image interface with image-specific chainable methods in addition to the standard Component modifiers:
() => Image
Makes the image resizable so it fills its frame. Required for .frame() to affect image size.
(mode: "original" | "template") => Image
Controls how the image is rendered. "original" preserves the image’s original colors; "template" renders as a single color using the current foreground style.
(quality: "none" | "low" | "medium" | "high") => Image
Sets the interpolation quality for scaled images.
(isAntialiased?: boolean) => Image
Enables or disables antialiasing on image edges. Defaults to true if called without arguments.
(mode: "monochrome" | "hierarchical" | "palette" | "multicolor") => Image
Sets how multi-layer system symbols are rendered.
(scale: "small" | "medium" | "large") => Image
Sets the symbol scale relative to adjacent text.
Image from URL
System symbol
Asset image
Inline SVG
Resizable with frame
Template rendering with foreground color
Pixel-art interpolation
Multicolor system symbol

Video

Plays video from a URL or asset name with configurable playback options.
The VideoProps type requires either a url or video source, plus optional playback settings:
string
URL of a remote video to load.
string
Local video asset name.
boolean
Whether the video starts playing automatically. Defaults to false.
boolean
Whether the video is muted. Defaults to false.
boolean
Whether playback controls are shown. Defaults to true.
boolean
Whether the video loops continuously. Defaults to false.
"fit" | "fill"
How the video is scaled within its frame. Defaults to "fit".
Basic video
Autoplay background video
Local video asset
Fit content mode
Fill content mode

Model3D

Displays an interactive 3D model from a URL.
string
required
URL to the 3D model file. Supports common formats like .glb, .gltf, and .usdz.
string
iOS-specific URL for the model, typically a .usdz file optimized for Apple platforms. When provided, iOS uses this URL while other platforms use url.
string
Accessibility description of the 3D model for screen readers.
boolean
required
Whether the user can zoom, pan, and rotate the camera to examine the model.
boolean
required
Whether the model automatically rotates for showcase purposes.
Basic 3D model
Auto-rotating product showcase
Static display
.usdz format is recommended for iOS AR Quick Look integration. .glb / .gltf formats provide good cross-platform compatibility. Auto-rotate is useful for product showcases where user interaction is not required.

See also

  • Text — captions and overlays for media
  • Markdown — render rich text alongside media
  • ZStack — overlay text or controls onto media
  • LinearGradient — readability gradient over images