Example: Meeting assistant
Takes a meeting's audio (or video) and returns: the transcript, structured
minutes (summary, decisions, action items with owners) generated by a Flow,
and an executive summary in streaming. It combines transcription + pipeline +
structured output + streaming.
Folder: pocs/reuniao-assistente · Suggested port: 8003
jangada features
Audio.from_bytes()+llm.atranscribe()— speech-to-textFlow— sequential pipeline (clean transcript → structure minutes)aparse(..., schema=Ata)in a Flow step — typed outputllm.astream()— token-by-token response
Core of the example
A Flow pipeline that cleans the transcript and produces typed minutes
(app/routers/reuniao.py):
from jangada_ai import Flow
flow = (
Flow(llm)
.step("clean", "Rewrite the transcript fixing noise and organizing it by "
"speaker turns, without losing information:\n{{transcricao}}")
.step("minutes", "From the organized transcript, produce the meeting minutes.\n{{clean}}",
schema=Ata)
)
r = flow.run(transcricao=transcricao)
minutes = coerce(r.completions["minutes"], Ata) # Pydantic object from the "minutes" stepTranscribing the upload (audio or video):
from jangada_ai import Audio
audio = Audio.from_bytes(data, mime, name=name) # preserve the extension in name!
comp = await stt.atranscribe(audio, language="pt")Streaming summary:
async def generate():
async for token in llm.astream("Summarize this meeting in bullets:\n{{t}}", t=req.transcricao):
yield token
return StreamingResponse(generate(), media_type="text/plain; charset=utf-8")Things to watch
- Whisper has a ~25 MB per-file cap. Pre-process the media in your
backend (extract audio, mono/16 kHz with
ffmpeg) — jangada is thin and doesn't bundleffmpeg, it just forwards the bytes. - Preserve the extension in
name(meeting.mp3): Whisper infers the container from the name. - Each
Flowstep becomes a{{ }}variable for the next; the last one comes out typed withschema=.
How to run
cd pocs/reuniao-assistente
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8003 # http://localhost:8003/docsSee Audio transcription, Flows and Streaming.
Example: Agent research
Autonomous agents that investigate tasks with tools, teams with handoff (Squad), planning, provider failover and remote MCP.
Example: Support with RAG
A support center that ingests a knowledge base (PDF/DOCX/CSV/XLSX) and answers with context; an agent decides when to search and a guardrail filters scope.