Create Live Session
Create a new live translation session to translate a live video stream into sign language in real time.
/v2/live/sessionsRequest Body
Body Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| sourceType | string | required | 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 |
| hlsSourceUrl | string | optional | The HLS manifest URL to pull from. Required when sourceType is HLS_PULL. |
| srtConfig | object | optional | SRT ingest configuration. Only used when sourceType is SRT_PUSH. |
| passphrase | string | optional | Optional AES passphrase for encrypted SRT streams. |
| keyLength | integer | optional | AES key length in bytes. Only meaningful when passphrase is set. 1632 |
| latency | integer | optional | SRT latency in milliseconds. Higher values trade delay for resilience to packet loss. |
| outputType | string | optional | The output delivery type. HLS returns both HLS and DASH manifests; RTMP and SRT push the composed output to a destination you provide. Default: HLSHLSRTMPSRT |
| pictureInPicture | boolean | optional | 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 |
| rtmpOutputUrl | string | optional | The RTMP destination URL. Required when outputType is RTMP. |
| rtmpOutputStreamKey | string | optional | Stream key for the RTMP output destination. Accepted in the request but not returned on the response. |
| outputDestinationUrl | string | optional | Destination URL for SRT output. Required when outputType is SRT. |
| outputSrtConfig | object | optional | SRT output configuration. Same shape as srtConfig. |
| passphrase | string | optional | Optional AES passphrase for encrypted SRT output. |
| keyLength | integer | optional | AES key length in bytes. 1632 |
| latency | integer | optional | SRT latency in milliseconds. |
| language | string | optional | Target sign language for the session. Must match the selected signer. BSLASL |
| signer | string | optional | Signer identifier for the session output (e.g. "RAE", "MAX", "JAY"). |
| connectionId | string | optional | 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.
Unique session identifier.
Current external session status: "active", "finalizing", or "ended". "ended" additionally surfaces "error" when the session failed.
The output type configured for this session.
Whether server-side picture-in-picture compositing is enabled for this session.
RTMP ingest endpoints to push your stream to. Present when sourceType is RTMP_PUSH.
True when the RTMP relay is in front of MediaLive (Signapse rewrites the ingest URL). False when the customer pushes directly.
SRT ingest URL to push to. Present only when sourceType is SRT_PUSH.
Passphrase to configure on the SRT sender. Present only when sourceType is SRT_PUSH.
HLS manifest URL (legacy — byte-for-byte equal to manifests.hls). Present when outputType is HLS.
Configured RTMP destination URL. Present when outputType is RTMP.
HLS playlist URL (.m3u8). Present when outputType is HLS.
DASH manifest URL (.mpd), live profile, served as application/dash+xml. Present when outputType is HLS.
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_PULLcombined withpictureInPicture: truevalidates your source manifest before the session starts. Incompatible sources return400with anHLS_INPUT_*code — see HLS Source Requirements.rtmpOutputStreamKeyis accepted on create and returned onGET, but never echoed on this response — stream keys are treated as credentials.
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"
}'{
"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"
}
}