Display & Video SDK

See exactly what your ads look like — where they'll actually run.

Ocamba Display renders every IAB format and a JSON-configured video player. Explore a real publisher page filled with live units, then tune placement, animation and options yourself — everything here is drawn by the real SDK.

26IAB formats
9renderers
7behaviors
8animations
0dependencies
🗞️

Formats, in a living page

A full publisher homepage with a billboard, in-feed rectangles, a sticky half-page, a netboard and a docking anchor — every unit a real slot(), at true size.

Open the living demo ›
🎛️

Format playground

Pick any of the 26 formats, choose a placement and entrance animation, flip the container options — and watch it render live while the code writes itself.

Open the playground ›
🧩

Every renderer

Banners, bare images, free-form HTML5, five native templates, AdSense-style native, video and audio via slot(), YouTube and hosted-creative embeds — each live, each documented.

Open the renderer gallery ›
🌀

Placement behaviors

Interscroller, expand, pushdown, float, reveal, parallax and skin — a field-guide article where every behavior runs live as you scroll, with the config to copy.

Read the field guide ›
🎬

Video player studio

A JSON-configured player with instream ads, float-on-scroll, chapters and theming — tune every option live and drive it with the full control surface.

Open the player studio ›
Supported formats

26 standard sizes, ready to run.

Every format below is supported out of the box, shown at true proportions with a sample creative. Filter by the device it suits best, or click any to tune it live.

Coverage map

Every option, one click away.

The complete SDK surface from the formats reference — each enum value linked to the demo that exercises it. If it's in the docs, you can see it run here.

OptionValuesSee it live
Renderers — server item l
bannerimage banner, lazy s:1, isolation hint eRenderers › banners
imgbare clickable imageRenderers › banners
responsivefree-form HTML5 via md.htmlRenderers › HTML5
layout1…5, gnative templates, macro-filledRenderers › native · in-feed on the living demo
videoplacements inline · overlay · instream, skip sk/soRenderers › video
audioinline bar · self-created anchorRenderers › audio
embedkind:'yt' bridge · kind:'dsp' hosted creativeRenderers › embed
Placement behaviors — behavior / item b
interscrollerwindow height hBehaviors §1
expand / pushdowntrigger: click|view, size expand/w2×h2Behaviors §2–3
floatfloatPos: br|bl|tr|tlBehaviors §4
revealposition: top|bottom, + anchor = rollbandBehaviors §5
parallaxdepth: 0..1Behaviors §6
skinwallpaper behind the pageBehaviors §7
server-driven bitem b/w2/h2; config winsBehaviors §8
Containers & placements
overlay / interstitialbackdrop, close, closeAfter, labelPlayground
anchorposition: top|bottomPlayground · living demo footer
overstrip over a target elementPlayground · living demo lead visual
Animations, isolation, click, sizing
anim / animOutfade slide slide-down slide-left slide-right zoom pop flip + animMsPlayground
isolationshadow · iframe · nonePlayground · e-hint card
clicktab · window · topPlayground
fit:'scale'downscale-only object-fit for HTML creativesRenderers › extras · Playground
Content player — OcambaDisplay.player()
playerplaylist, preroll ads, float + corners, aspect, autoplay visible, chapters, controls, theming, position/pip/fullscreenPlayer studio
Request-side (nothing to render — copy the snippet)
cat, ctxtargeting; ctx rides as base64url JSON — this preview itself steers its demo feed through itconfig in Playground snippet
identity, consentGDPR/GPP signals; auto CMP detection — see gdpr-display docsdocs
timeout, scriptAttrs, onEventplumbing — every demo page logs onEvent liveevent chips & logs everywhere
mdslegacy tracking sets, read only without md — server-side concern, nothing to rendernote in Renderers › extras
Integrate

Two ways in. Both are tiny.

Declare a slot in markup, or drive it programmatically. One script tag, no build step.

Declarative

<ins class="axocmba"
     data-slot="AF6PgAAt3hc/leaderboard"
     data-sizes="728x90"
     data-cat="news"></ins>

<script async src="/sdk/display.js"></script>

Programmatic

OcambaDisplay.slot({
  zone: 'AF6PgAAt3hc',
  slot: '300x600',
  container: { mode: 'overlay', backdrop: '.55', label: 'Ad' },
  anim: 'zoom', animMs: 400,
  onEvent: (e, d) => console.log(e, d)
});