Skip to main content
Partial AvailabilityYou can reference external media URLs in landing pages. Direct upload and media management will be available when the landing page editor launches.

Media Types Supported

TypeFormatsUse Cases
ImagesJPG, PNG, WebP, SVG, GIFHero backgrounds, galleries, features
VideoYouTube, Vimeo, MP4Hero backgrounds, embedded videos
IconsSVG, icon librariesFeature sections, accents

Images

Image Requirements

PropertyRecommendation
FormatWebP (preferred), JPG, PNG
Max File Size2MB
Resolution2x for retina (e.g., 2400px for 1200px display)
Color ProfilesRGB

Image Sizing by Use

Use CaseRecommended SizeAspect Ratio
Hero background1920x1080px16:9
Hero (mobile)750x1334px9:16
Feature icons128x128px1:1
Gallery images800x800px1:1 or 4:3
Testimonial avatars80x80px1:1
Product images1200x1200px1:1

Responsive Images

The landing page system automatically serves appropriate image sizes:
<!-- Generated responsive image -->
<picture>
  <source
    srcset="image-400.webp 400w, image-800.webp 800w, image-1200.webp 1200w"
    sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw"
    type="image/webp"
  />
  <img src="image-800.jpg" alt="Description" loading="lazy" />
</picture>

Image Optimization

Images are automatically optimized:
OptimizationDescription
CompressionQuality-aware lossy compression
Format conversionConvert to WebP where supported
ResizingGenerate multiple sizes
Lazy loadingLoad when in viewport

Video

Embedded Video Platforms

PlatformSupportedFeatures
YouTubeYesEmbed, privacy-enhanced mode
VimeoYesEmbed, player customization
Custom hostedComing soonDirect MP4/WebM

YouTube Embeds

{
  type: "video",
  source: "youtube",
  videoId: "dQw4w9WgXcQ",
  // or full URL
  url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
}

Vimeo Embeds

{
  type: "video",
  source: "vimeo",
  videoId: "123456789",
  // or full URL
  url: "https://vimeo.com/123456789"
}

Video Settings

SettingOptionsDefault
Autoplaytrue, falsefalse
Mutedtrue, falsefalse (true if autoplay)
Looptrue, falsefalse
Controlstrue, falsetrue
Start timeseconds0
Autoplaying video with sound is blocked by browsers. Set muted: true if using autoplay.

Background Video

For hero sections with video backgrounds:
{
  section: "hero",
  media: {
    type: "video",
    source: "youtube",
    videoId: "...",
    background: true,
    autoplay: true,
    muted: true,
    loop: true,
    controls: false
  },
  overlay: {
    color: "rgba(0, 0, 0, 0.5)"  // Dark overlay for text readability
  }
}

Icons

Built-in Icon Library

The editor includes access to common icon sets:
LibraryIconsStyle
Heroicons300+Outline, solid
Lucide1000+Outline
Simple Icons2000+Brand logos

Icon Usage

{
  section: "features",
  features: [
    {
      icon: "heroicons:sparkles",
      title: "AI-Powered",
      description: "..."
    },
    {
      icon: "lucide:rocket",
      title: "Fast",
      description: "..."
    }
  ]
}

Custom SVG Icons

Upload custom SVG icons:
{
  icon: {
    type: "custom",
    svg: "<svg>...</svg>",
    // or URL
    url: "https://example.com/icon.svg"
  }
}

Media Hosting

Currently Supported

MethodStatus
External URLsSupported
YouTube/VimeoSupported
Direct uploadComing soon

Using External URLs

Reference images hosted elsewhere:
{
  section: "hero",
  media: {
    type: "image",
    url: "https://your-cdn.com/hero-image.jpg",
    alt: "Product hero image"
  }
}
Recommended CDN options:
  • Cloudflare Images
  • Cloudinary
  • Imgix
  • Your own CDN

Upload Management (Coming Soon)

Future capabilities:
  • Drag-and-drop upload in editor
  • Organization media library
  • Automatic optimization
  • AI-powered alt text suggestions

Alt Text and Accessibility

Writing Good Alt Text

Image TypeAlt Text Approach
DecorativeEmpty alt (alt="")
InformativeDescribe content
FunctionalDescribe action
ComplexBrief summary + detailed description

Examples

// Decorative background
{ url: "...", alt: "" }

// Informative product image
{ url: "...", alt: "Limited edition blue running shoes with white sole" }

// Functional CTA image
{ url: "...", alt: "Play video about queue system" }
Good alt text is concise (under 125 characters) and describes what’s important in the image context.

Performance Considerations

Image Performance Checklist

  • Use WebP format when possible
  • Size images appropriately (don’t scale down large images)
  • Enable lazy loading for below-fold images
  • Provide responsive image sizes
  • Compress images before upload
  • Use CDN for external images

Video Performance Checklist

  • Use YouTube/Vimeo embeds (optimized delivery)
  • Don’t autoplay with sound
  • Consider poster image for videos
  • Avoid multiple autoplaying videos
  • Test on slow connections

Measuring Impact

MetricTarget
Largest Contentful Paint (LCP)< 2.5s
Total image weight< 1MB
Above-fold load< 1s

Current Workarounds

Image Optimization Services

Use external services to optimize images:
# Cloudinary transformation
https://res.cloudinary.com/demo/image/upload/w_800,f_auto,q_auto/sample.jpg

# Imgix transformation
https://example.imgix.net/image.jpg?w=800&auto=format,compress

Video Thumbnails

Create custom video thumbnails:
{
  section: "video",
  source: "youtube",
  videoId: "...",
  thumbnail: {
    url: "https://your-cdn.com/custom-thumbnail.jpg",
    alt: "Video preview"
  }
}

Next Steps