Image displays a bitmap, system symbol, or inline SVG from a URL or an asset name. 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.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
Inline SVG markup as a string.
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.
No renderer implements
.renderingMode(), .interpolation(), .antialiased(), .symbolRenderingMode(), or .imageScale() yet. Calling them has no effect.Video
Plays video from a URL or an asset with configurable playback options.VideoProps type requires either a url or video source, plus optional playback settings:
string
URL of a remote video to load.
string
An asset id. Only the web renderer in Studio resolves it. iOS does not play a
video string, and on Android a Video without url throws. To play an asset on every platform, pass its URL to url.boolean
Whether the video starts playing automatically. Defaults to
false.boolean
Whether the video is muted. Defaults to
false on iOS and Android and true on web.boolean
Whether playback controls are shown. Defaults to
true on iOS and web and false on Android.boolean
Whether the video loops continuously. Defaults to
false."fit" | "fill"
How the video is scaled within its frame. Defaults to
"fit".Model3D
Displays an interactive 3D model from a URL.string
required
URL to the 3D model file, in
.glb or .gltf format.string
URL of a
.usdz file. The web renderer passes it to <model-viewer> for AR Quick Look in Safari on iOS. The iOS and Android renderers ignore it.string
Accessibility description of the 3D model for screen readers. Only the web renderer reads it.
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.
The iOS renderer loads
.glb and .gltf files, not .usdz. 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