Get Started with Aeion Signage

Set up your first digital display in 5 steps. AI slide generation, playlists, scheduling, and live data bindings—all in under 20 minutes.

1

Create Your First Project

Go to Signage → Projects and click New Project.

  1. Enter a project name (e.g., "Summer Sale 2026")
  2. Choose a template or start blank
  3. Set canvas resolution for your display type:

Default slide settings:

typescript { duration: 10, // seconds per slide transition: "fade", // crossfade between slides transitionDuration: 500, // ms backgroundColor: "#FFFFFF" }

Or generate with AI:

  1. Click Generate with AI button
  2. Enter prompt: "retail summer sale, bold colors, product images, energetic feel"
  3. AI generates 5-8 slides with layout, elements, backgrounds
  4. Edit any slide before saving
2

Register Your Displays

SettingDescription
NameFriendly name for display
LocationPhysical location (for organization)
Display GroupOptional group membership
ResolutionWidth × Height in pixels
Orientationlandscape or portrait
PlatformOS running display client
TimezoneDisplay's local timezone for scheduling
3

Build a Playlist

TypeDescriptionUse Case
projectIdFull projectMost common—entire deck
slideIdSingle slideIndividual slide highlight
motionSceneId3D sceneSpatial/Motion Studio content
4

Schedule Content

PatternUse Case
onceSingle promotion day
dailyAll-day every day
weeklySpecific weekdays
customFlexible patterns
5

Enable Data Bindings

SourceExamples
commerceorders.todayCount, orders.todayRevenue, products.count, inventory.low
crmdeals.pipelineValue, contacts.newToday, activities.pending
collabactiveUsers, messagesToday, unreadCount
mediauploadsToday, storageUsed
customexternal.weather, stocks symbol

Quick Reference

Display Setup API:

```bash # Register display POST /signage/displays/register

# Send heartbeat (display client) POST /signage/displays/{id}/heartbeat { "ipAddress": "192.168.1.50", "currentSlideId": "slide-123", "uptimeSeconds": 3600, "performanceProfile": "standard" }

# Get pending commands GET /signage/displays/{id}/command ```

Remote Operations:

```bash # Send command to display POST /signage/displays/{id}/command { "type": "refresh" }

# Screenshot capture POST /signage/displays/{id}/screenshot

# Set volume POST /signage/displays/{id}/command { "type": "set-volume", "payload": { "level": 50 } } ```

Slide Editor API:

```bash # Create slide POST /signage/slides { "projectId": "uuid", "label": "My Slide" }

# Reorder slides POST /signage/slides/reorder { "projectId": "uuid", "orderedIds": ["id1", "id2", "id3"] }

# Duplicate slide POST /signage/slides/{id}/duplicate

# Apply theme POST /signage/projects/{id}/apply-theme { "themeId": "uuid" } ```

AI Slide Generation:

```bash # Generate deck POST /signage/ai/generate { "description": "retail summer sale, bold colors", "slideCount": 6 }

# Generate campaign POST /signage/ai/generate-campaign { "description": "morning specials across all locations", "displayTypes": ["retail", "menu-board"] } ```

A/B Testing:

```bash # Create test POST /signage/ab-tests { "name": "Red vs Blue CTA", "variantA": { "slideId": "slide-red" }, "variantB": { "slideId": "slide-blue" }, "displayIds": ["display-1", "display-2"] }

# Evaluate results GET /signage/ab-tests/{id}/results ```

Data Binding Syntax:

{{ path.to.data }} {{ commerce.orders.todayCount }} {{ commerce.orders.todayRevenue | currency:"USD" }} {{ weather.current.temperature | prefix:"°F" }}

FAQ

The Aeion Bridge desktop app includes the signage player. Download Bridge, install on your display device (Raspberry Pi, mini PC, Android device), and register via QR code or manual entry.

Yes. Playlists are resolved with all referenced slide content on heartbeat. Displays cache the content and render without internet. Sync updates on reconnect.

Commands are queued server-side. On each heartbeat, the server includes pending commands in the response. Display executes them and they're cleared from the queue.

Priority determines which schedule wins. The schedule with the higher priority number plays. Equal priorities: most recently created wins.

Use the `{{ path }}` syntax in slide element content. Aeion resolves these against the live data APIs of the target module in real time. Configure refresh intervals per binding.

Yes. Create an A/B test with two variants (different slides). Assign display(s) to the test. Aeion collects dwell time data and auto-selects the winner once statistical significance is reached (p < 0.05).

A **project** is a collection of slides with shared theme, background, and settings. A **playlist** is an ordered sequence of projects, slides, or motion scenes for continuous playback.

Use the Motion Studio module to create 3D scenes. Link motion scenes to playlists via `motionSceneId`. Displays with WebGL support render the 3D scene.

Configurable per display, default 60 seconds. High-traffic displays can use shorter intervals (30s). Low-power devices can use longer intervals (120s+).

Yes. Use display groups. Send commands to a group and all member displays receive them. Schedule content to a group and all displays in the group show the same playlist.

Open the Signage Dashboard