Developer
To build and test.
2M tokens a month included, then requests wait for the next month
- About 180 meeting hours
- 10 requests a minute
- Community forum
~/standup $ quillon decide weekly-sync.m4a
Meeting decisions API · model qx-2
Send Quillon an hour of talk. You get back what was decided, who owns each action item and the due dates people said out loud - each one pointing at the second it was said.
every answer cites the second it was said
Fig. 1 - A 47-minute product meeting processed by qx-2. Names changed; the timestamps are the recording's.
How it works
Upload the file or a link to it. Poll, or give us a webhook - most hour-long meetings come back in under a minute.
Up to 6 hours per file - m4a, mp3, wav, webm - or text you already have. Add the calendar invite and speakers get their names.
31 languages, switching mid-sentence is fine. Every word keeps its timestamp.
qx-2 holds 400,000 tokens - about nine hours of talk - so a decision taken at minute 5 and reversed at minute 50 comes out reversed.
Decisions, action items with owner and due date, open questions - each with the seconds it rests on.
{
"status": "done",
"decisions": [{
"text": "The EU region launches on 1 December",
"at": "00:12:04", "speakers": ["Tomás", "Ana"]
}],
"action_items": [{
"owner": "Priya", "task": "Rewrite the pricing page",
"due": "2026-11-14", "at": "00:31:40"
}],
"usage": { "input_tokens": 9840, "output_tokens": 612 }
}
API
REST over HTTPS, with small SDKs for JavaScript and Python. Your key is scoped to one project and one region.
curl https://api.quillon.example/v1/meetings \
-H "Authorization: Bearer $QUILLON_KEY" \
-F audio=@weekly-sync.m4a \
-F extract=decisions,action_items \
-F webhook=https://you.example/hooks/quillon
{ "id": "mtg_8Kq2", "status": "processing", "eta_seconds": 34 }
import { Quillon } from 'quillon';
import { openAsBlob } from 'node:fs';
const q = new Quillon({ apiKey: process.env.QUILLON_KEY });
const meeting = await q.meetings.create({
audio: await openAsBlob('weekly-sync.m4a'),
extract: ['decisions', 'action_items'],
});
const { decisions, actionItems } = await q.meetings.wait(meeting.id);
import os
from quillon import Quillon
q = Quillon(api_key=os.environ["QUILLON_KEY"])
meeting = q.meetings.create(
audio=open("weekly-sync.m4a", "rb"),
extract=["decisions", "action_items"],
)
result = q.meetings.wait(meeting.id)
https://api.quillon.example/v1Benchmarks
Measured on 4 to 6 November 2026 against qx-2. How, in the notes below.
p95 is the one we page on
An hour of meeting is about 11,000 tokens in and 700 out.
To build and test.
2M tokens a month included, then requests wait for the next month
For one product in production.
20M tokens included, then $1.20 per 1M input and $4.80 per 1M output tokens
For many teams and strict rules.
300M tokens included, then $0.90 per 1M input and $3.60 per 1M output tokens
| Plan | Included a month | Input | Output |
|---|---|---|---|
| Developer | 2M | - | - |
| Team | 20M | $1.20 | $4.80 |
| Scale | 300M | $0.90 | $3.60 |
Input is what we read - the transcript, about 11,000 tokens per meeting hour. Output is what we write back, about 700 tokens per hour. Audio costs nothing extra; failed jobs are not billed.
Security and data
Meetings hold salaries, customers and people's names. These are the rules we run by - and the ones we do not claim yet.
Deleted0 daysafter processing
We hold no SOC 2 or ISO 27001 certificate today; the first audit is planned for 2027. Our security report and the summary of an external penetration test are available on request.
Customers
Note-takers, CRMs, recruiting tools and a few hospitals' shift handovers.
We tried to build this ourselves for a year. Quillon's owners and due dates were right more often than our own people's notes - and it says when nobody named a date.
Shift handovers are 20 minutes of talk. The night team now gets six lines with timestamps, and the recording is gone before they read them.
2M tokens a month are free - about 180 hours of meetings. No card.