Skip to Content

Create Live Session

Create a new live translation session to translate a live video stream into sign language in real time.

POST/v2/live/sessions

Request Body

Body Parameters

NameTypeRequiredDescription
sourceTypestringrequired
The type of live source input. RTMP_PUSH and SRT_PUSH mean you push to a Signapse endpoint; HLS_PULL means Signapse pulls from an HLS manifest URL you provide.
RTMP_PUSHSRT_PUSHHLS_PULL
hlsSourceUrlstringoptional
The HLS manifest URL to pull from. Required when sourceType is HLS_PULL.
srtConfigobjectoptional
SRT ingest configuration. Only used when sourceType is SRT_PUSH.
passphrasestringoptional
Optional AES passphrase for encrypted SRT streams.
keyLengthintegeroptional
AES key length in bytes. Only meaningful when passphrase is set.
1632
latencyintegeroptional
SRT latency in milliseconds. Higher values trade delay for resilience to packet loss.
outputTypestringoptional
The output delivery type. HLS returns both HLS and DASH manifests; RTMP and SRT push the composed output to a destination you provide.
Default: HLS
HLSRTMPSRT
pictureInPicturebooleanoptional
When true, SignStream composites the signer onto your source video and publishes the result as an additional HLS stream at manifests.pip. Supported for every source type; the composite is only produced when outputType is HLS.
Default: false
rtmpOutputUrlstringoptional
The RTMP destination URL. Required when outputType is RTMP.
rtmpOutputStreamKeystringoptional
Stream key for the RTMP output destination. Accepted in the request but not returned on the response.
outputDestinationUrlstringoptional
Destination URL for SRT output. Required when outputType is SRT.
outputSrtConfigobjectoptional
SRT output configuration. Same shape as srtConfig.
passphrasestringoptional
Optional AES passphrase for encrypted SRT output.
keyLengthintegeroptional
AES key length in bytes.
1632
latencyintegeroptional
SRT latency in milliseconds.
languagestringoptional
Target sign language for the session. Must match the selected signer.
BSLASL
signerstringoptional
Signer identifier for the session output (e.g. "RAE", "MAX", "JAY").
connectionIdstringoptional
Opts the session into WebSocket session-state notifications on lifecycle transitions. Empty means no notifications are sent.

Response

Returns 201 Created with the session object.

sessionIdstring

Unique session identifier.

statusstring

Current external session status: "active", "finalizing", or "ended". "ended" additionally surfaces "error" when the session failed.

outputTypestring

The output type configured for this session.

pictureInPictureboolean

Whether server-side picture-in-picture compositing is enabled for this session.

rtmpEndpointsstring[]

RTMP ingest endpoints to push your stream to. Present when sourceType is RTMP_PUSH.

relayActiveboolean

True when the RTMP relay is in front of MediaLive (Signapse rewrites the ingest URL). False when the customer pushes directly.

ingestUrlstring

SRT ingest URL to push to. Present only when sourceType is SRT_PUSH.

srtPassphrasestring

Passphrase to configure on the SRT sender. Present only when sourceType is SRT_PUSH.

outputManifestUrlstring

HLS manifest URL (legacy — byte-for-byte equal to manifests.hls). Present when outputType is HLS.

rtmpOutputUrlstring

Configured RTMP destination URL. Present when outputType is RTMP.

manifests.hlsstring

HLS playlist URL (.m3u8). Present when outputType is HLS.

manifests.dashstring

DASH manifest URL (.mpd), live profile, served as application/dash+xml. Present when outputType is HLS.

manifests.pipstring

Composite HLS playlist URL (.m3u8) carrying your source video with the signer overlaid. Present only when pictureInPicture is true and outputType is HLS; omitted otherwise.

Common Use Cases

RTMP Push to HLS Output

Push an RTMP stream from your encoder and receive sign language as an HLS stream.

{ "sourceType": "RTMP_PUSH", "outputType": "HLS" }

Picture-in-Picture Composite Output

Push an RTMP stream and receive a composite HLS stream with the signer overlaid on your source, in addition to the signer-only manifests.

{ "sourceType": "RTMP_PUSH", "outputType": "HLS", "pictureInPicture": true }

Play the composite from manifests.pip. See Picture-in-Picture for layout and playback details.

HLS Pull to RTMP Output

Provide an HLS source and push the sign language output to your RTMP server.

{ "sourceType": "HLS_PULL", "hlsSourceUrl": "https://example.com/live/stream.m3u8", "outputType": "RTMP", "rtmpOutputUrl": "rtmp://your-server.com/live", "rtmpOutputStreamKey": "your-stream-key" }

Notes

  • Returned manifest URLs are CloudFront-signed, and every segment, partial, init, and preload-hint URL inside them is signed too. The response also sets CloudFront access cookies. See Playing back protected media.
  • HLS_PULL combined with pictureInPicture: true validates your source manifest before the session starts. Incompatible sources return 400 with an HLS_INPUT_* code — see HLS Source Requirements.
  • rtmpOutputStreamKey is accepted on create and returned on GET, but never echoed on this response — stream keys are treated as credentials.
Request
curl -X POST "https://ai.api.production.signapsesolutions.com/v2/live/sessions" \
  -H "X-API-KEY: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceType": "RTMP_PUSH",
    "outputType": "HLS"
  }'
Response
{
  "sessionId": "ls_abc123def456",
  "status": "active",
  "outputType": "HLS",
  "rtmpEndpoints": [
    "rtmp://ingest.signapsesolutions.com/live/ls_abc123def456"
  ],
  "relayActive": true,
  "outputManifestUrl": "https://output.signapsesolutions.com/live/ls_abc123def456/index.m3u8",
  "manifests": {
    "hls":  "https://output.signapsesolutions.com/live/ls_abc123def456/index.m3u8",
    "dash": "https://output.signapsesolutions.com/live/ls_abc123def456/manifest.mpd"
  }
}
Last updated on
Question? Give us feedback
support@signapse.ai