API v2 is live — now with YouTube Live streaming + WebSocket support

AI systems are not limited
by reasoning anymore.
They are limited by
what they can structurally understand.

Don't Transcribe it — Loom it. Loose threads become the lasting fabric in AI Context building. Structured audio understanding for AI systems — typed JSON knowledge objects, not raw transcript text. One call. Any language. Built for AI systems, RAG pipelines, and developer tools.

Get started free View on GitHub
signalloom-quickstart
$ pip install signalloom
Successfully installed signalloom
$ curl -X POST https://api.signalloomai.com/v1/transcribe \
  -H "Authorization: Bearer $SL_API_KEY" \
  -F file=@recording.mp4
"status": "success" — processed in 1.4s
Scroll to explore

Video and audio in.
Structured knowledge out.

Pass in any media file — Signal Loom returns clean, typed JSON that AI systems can actually reason about. No more wrestling with raw transcript text.

Input

Upload any video or audio file. We'll handle the rest.

.mp4 .mp3 .webm .m4a YouTube* TikTok GDrive Dropbox .wav .ogg .flac

*YouTube link ingestion is best-effort due to platform anti-bot protections. Direct file links, Google Drive, Dropbox, Box, and similar hosted files are currently the most reliable.

Output

Structured JSON with speakers, topics, entities, and timestamps — ready for any AI pipeline.

Example API response
Copy

    

Built for how AI actually works

Other transcription APIs give you plain text. Signal Loom gives you structured data that slots directly into your RAG pipeline, agent memory, or knowledge graph.

Language-agnostic

Structured output works identically regardless of source language. Build global products without localization overhead.

Structured, typed JSON

Every response is a strongly-typed knowledge object. Speakers, topics, entities, sentiment — all pre-parsed and ready to use.

Fast, with live streaming

Sub-second transcription for short clips. YouTube Live support with 15-second partial updates via WebSocket — same structured JSON as batch processing.

Affordable at scale

Generous free tier. No per-character pricing traps. Predictable pricing that scales with your usage, not your revenue.

Agent-ready output

Output is designed for AI consumption first. No post-processing needed. Just deserialize and use.

Developer-first DX

Clean REST API, official SDKs for Node/Python/Go, webhooks, OpenAPI spec, and docs you'll actually enjoy reading.

Transcribe YouTube Live streams
in real time.

Paste a YouTube live stream URL. Get structured JSON updates every 15 seconds as the stream runs. Same schema as batch transcription — no pipeline changes required.

How live streaming works

1
Start a live session

POST the YouTube live URL — we pipe the stream through yt-dlp → ffmpeg → Whisper in real time.

2
Receive partial transcripts

Structured JSON updates every 15 seconds. Speakers, timestamps, and text — all typed and ready for AI consumption.

3
Accumulated full transcript

Each update includes the running transcript so far. No need to stitch segments together yourself.

4
End session

Stop the session at any time. A final consolidated transcript is assembled from all partial updates.

# Start a YouTube live stream session
curl -X POST https://api.signalloomai.com/v1/live/start \
-H "Authorization: Bearer $SL_API_KEY" \
-d '{
"url": "https://youtube.com/live/...",
"chunk_duration": 15
}'
# Returns: {"session_id": "ytlive_...", "state": "starting"}

Real-time WebSocket stream

WebSocket connection receives structured partial transcripts as the stream runs.

# WebSocket connection
$ wscat -c wss://api.signalloomai.com/v1/ws/stream?api_key=$SL_API_KEY
# Partial transcript — chunk 1
{
"type": "partial",
"session_id": "ytlive_abc123",
"chunk_index": 1,
"text": "Welcome everyone to today's...",
"accumulated_text": "Welcome everyone...",
"speakers": [{"id": "SPEAKER_00", "name": "Host"}],
"language": "en",
"duration_seconds": 14.8
}
# Partial transcript — chunk 2
{
"type": "partial",
"chunk_index": 2,
"accumulated_text": "Welcome everyone to today's stream. Today we have an important announcement...",
"text": "Today we have an important...",
"speakers": [{"id": "SPEAKER_00", "name": "Host"}]
}
YouTube Live supported
15-second partial transcripts
Same structured JSON as batch
Speaker diarization included
WebSocket + REST both supported
No session time limits
Try live streaming free

Included in Starter plan and above. Free tier: 5 live sessions/month.

Built for builders

If you're building anything that needs to understand what people say — Signal Loom handles the hard part.

AI Agent Developers

Give your agent real audio/video understanding. Feed structured knowledge objects directly into your agent's context window instead of raw transcript text.

AI Agents

RAG Pipeline Engineers

Replace chunked text embeddings with richer signal — speakers, topics, entities, and timestamps that make retrieval dramatically more precise.

RAG Pipelines

Knowledge System Builders

Build organizational knowledge bases from meetings, calls, and video content. Structured output makes ingestion and querying far more reliable.

Knowledge Graphs

Developer Tool Makers

Add transcription to your IDE, CLI, or dev tool. Simple API, predictable pricing, and output that plays nice with any stack.

Developer Tools

Simple, transparent pricing

Start free, scale as you grow. No surprise bills, no character limits that punish natural speech.

Free
$0 /mo
100 min/mo in exchange for your email
  • 100 min/month
  • Up to 10 concurrent jobs
  • REST API access
  • JSON output
  • Community support
Pro
$99 /mo
For teams and production apps
  • 5,000 min/month
  • Up to 200 concurrent jobs
  • Everything in Starter
  • Topic segmentation
  • Sentiment analysis
  • Webhooks + OpenAPI
  • Priority support
Dev Pro
$349 /mo
For power users and solo builders
  • 25,000 min/month
  • Unlimited concurrent jobs
  • Everything in Pro
  • Custom model fine-tuning
  • SLA guarantee
  • Priority support
Enterprise
$1,595 /mo
Up to 5 seats · 100K mins/mo
  • Up to 5 seats included
  • Unlimited concurrent jobs
  • Everything in Dev Pro
  • SSO / SAML
  • Dedicated account manager
  • Invoice billing / Net-30

Need a custom volume or on-prem deployment? Talk to us.

Up and running in minutes

Three steps from zero to working transcription. No configuration, no infrastructure to manage.

1

Install the SDK

Pick your language. Our SDK handles authentication, retries, and response parsing automatically.

# Node.js
# npm install @signalloom/sdk # Node SDK — coming soon
# Python
pip install signalloom
# Go
# go get github.com/signalloom/sdk-go # Go SDK — coming soon
2

Get your API key

Sign up at signup.html — your free tier is active immediately, no credit card required.

export SL_API_KEY=sl_live_••••••••••••••••
# Or pass it directly
SIGNALLOOM_API_KEY=sl_live_... your-script.sh
3

Call the API

One request. Your media file comes in, structured JSON comes out. That's it.

// Node.js — 5 lines of code
import { SignalLoom } from '@signalloom/sdk'
const client = new SignalLoom({
apiKey: process.env.SL_API_KEY
})
const result = await client.transcribe({
file: './meeting.mp4',
speakers: true,
entities: true
})
console.log(result.knowledge) // → structured JSON