Skip to main content
The Melody device is our in‑house engineered interactive haptic hardware hub.
All WiFi playback requests are executed live against:
https://api.getmelody.io" Authenticated requests must include:
Authorization: Bearer <YOUR_JWT_TOKEN>
Content-Type: application/json

1. Playback Protocol (Read / Write)

Select the active playback protocol before issuing any control commands.
FieldTypeValues
playbackProtocolenumHDC, HSC, HPS, HLC

Playback Source (Read)

Indicates the current origin of device control.
FieldTypeValues
playbackSourceenumIDLE, MANUAL, WIFI, BLE

HSC — Haptics Script Control

Transport: WiFi only
Behavior: Script playback from a remote .funscript file via URL. The server orchestrates timeline playback.

Start Playback (Write)

FieldTypeDescription
timeuint32Start time in milliseconds
scriptUrlstringPublic URL of the funscript file
scriptSizeuint32Script size in bytes

Stop Playback (Write)

Interrupt and stop script playback.

Script Status (Read)

FieldTypeDescription
playingboolWhether script playback is active
currentScriptTimeuint32Current playback time (ms)
currentScriptIndexuint32Current script frame index
playbackRatefloatPlayback speed multiplier (configurable in settings)
Use for: synchronized sensations for videos, VR players, and timeline-driven playback systems.

HDC — Haptics Direct Control

Transport: WiFi, BLE
Behavior: Immediate position control. Every new command interrupts active movement.

Motion Command (Write)

FieldTypeRangeDescription
positionuint320 → 10000Target position (0.01% resolution)
timeuint32msMovement duration in milliseconds

Motion Status (Read)

FieldTypeDescription
playingboolWhether movement is active
destinationPositionuint32Last issued target position
Use for: UI manual controls, external timeline drivers, and interruptible positional motion.

HPS — Haptics Points Stream

Transport: WiFi, BLE Behavior: Stream sequential position + timestamp points. The device calculates velocity using time‑delta differences between points. Requirements:
  • Minimum 2 points required for velocity calculation
  • Maximum 64 points per message

Add Points (Write)

FieldTypeRangeDescription
timeuint32msTimestamp in milliseconds
posuint320 → 10000Position (0.01% resolution)
Note: If time delta between points is negative, the previous point timestamp is treated as 0.

Play Stream (Write)

Starts stream playback using buffered points.

Pause Stream (Write)

Pauses without clearing the buffer.

Flush Stream (Write)

Clears the buffered point queue.

Stream Status (Read)

FieldTypeDescription
playingboolWhether point stream is active
currentStreamTimeuint32Current playback time (ms)
pointsLeftuint32Remaining points in the buffer
Use for: Real-time haptic streaming, dynamic timelines, and smooth motion derived from time‑delta input.

HLC — Haptics Loop Control

Transport: WiFi, BLE Behavior: Automatic, repeating up/down stroking loop inside a defined range.

Set Loop Parameters (Write)

FieldTypeDescription
velocityfloatLoop velocity
lowLimitfloatLoop low position, must be < highLimit
highLimitfloatLoop high position, must be > lowLimit

Start Loop (Write)

Begins automatic haptic loop.

Stop Loop (Write — “Pause” command)

Stops loop playback safely and clears active loop state.

Loop Status (Read)

FieldTypeDescription
playingboolWhether loop is active
velocityfloatCurrent loop velocity
lowLimitfloatActive low loop position
highLimitfloatActive high loop position
Use for: Continuous and rhythmic motion patterns driven by firmware.

Summary

ProtocolInterruptibleTransportTiming Model
HSCWiFi onlyScript timeline
HDCWiFi, BLEClient duration
HPSWiFi, BLETime‑delta velocity
HLCWiFi, BLEFirmware auto‑loop
You’re ready to send playback and motion commands — just set the protocol first, then explore the reference tabs for deeper technical detail.