Meeting copilot tools usually listen from the sidelines and send notes afterwards. Agora Meeting Copilot, an open-source project built on Agora’s real-time network, puts the AI in the call instead: it joins as a voice participant, answers when someone says its name, and moves cards on a shared Kanban board when asked. On 11 September 2026, one day after OpenAI opened GPT-Live-1 to developers, the MIT-licensed project moved its AI teammate onto that model and removed the access gate from its public demo.
The meeting copilot did not arrive with a press release. It is a demo repository on GitHub, published from a personal account whose other recent projects are mostly Agora demos, and its prompt uses two first names as example meeting participants: “Zico” and “Hermes”. The same evening, a GitHub account belonging to Agora’s director of developer relations published three GPT-Live starter recipes. We covered the model itself in our analysis of the GPT-Live-1 API launch and its ChatGPT debut in GPT-Live’s July launch.
So we read the code: 13,152 lines, nine commits and 91 tests, alongside Agora’s SDK, documentation and price list and OpenAI’s GPT-Live guides. Three findings stand out. The meeting copilot needs a server-side wake phrase because GPT-Live answers people who are not talking to it. It sends OpenAI’s released model through an Agora route that Agora’s own documentation still calls an alpha preview “not intended for production traffic”. And every minute the AI teammate sits silently in a call runs two meters, $0.10 at Agora and $0.05 at OpenAI.
Table of contents
- What the Agora Meeting Copilot Does
- Who Built the Meeting Copilot, and When
- How the Meeting Copilot Wires GPT-Live-1 Into Agora
- Why the Meeting Copilot Stays Silent Until Called
- The Meeting Copilot Runs a GA Model Through an Alpha Route
- Where Your OpenAI Key Goes in the Meeting Copilot
- What a Meeting Copilot Minute Costs
- How Finished Is the Agora Meeting Copilot?
- What Agora’s Own Lab Measured About GPT-Live
- Should Your Business Build a Meeting Copilot on GPT-Live-1?
- Agora Meeting Copilot and GPT-Live-1: Frequently Asked Questions
- References and Further Reading
What the Agora Meeting Copilot Does
The Agora Meeting Copilot is a browser meeting app with an AI teammate built in. People join a room from a shared link, talk over audio and video, and see a live transcript, running notes and a Kanban board. The host can invite the AI teammate at any point, and supplies an OpenAI API key when they do.
The AI teammate joins as a participant
The meeting copilot does not sit in a separate chat panel. Agora Conversational AI starts an agent that joins the same real-time channel as the humans, under the reserved user ID 900001, and publishes GPT-Live-1’s voice into the call. It subscribes to every participant’s audio, so it hears the whole discussion, and it speaks with OpenAI’s “cedar” voice. Like other AI agents that act for their users, it can also change things, and here that means the board.
Transcripts, notes and downloadable files
A second service bot, user ID 900003, runs Agora Real-Time Speech-to-Text on the meeting audio and writes a speaker-attributed transcript. The default language is US English, and the configuration accepts up to four languages. OpenAI’s gpt-5.4-mini turns the transcript into live notes and final notes. When the meeting ends, the meeting copilot produces a transcript file, a notes file and a ZIP of both, which stay available for the room’s lifetime of 24 hours by default. There is no video recording in the code.
Four board actions by voice
The board has four columns, Backlog, In Progress, Blocked and Done, and people can create, edit, assign, tag, schedule, drag, filter and search cards by hand. By voice, the meeting copilot gets exactly four functions, each checked against a schema before anything changes.
| Voice function | What it does | Limits in the code |
|---|---|---|
| create_board_card | Adds a card | Title up to 120 characters, notes up to 1,000, up to 6 tags |
| move_board_card | Moves a card to another column | One of the four statuses |
| update_board_card | Changes title, notes, owner, due date, priority or tags | Owner name up to 60 characters; can clear the owner or due date |
| add_board_card_tags | Adds labels without replacing existing ones | 1 to 6 tags, each up to 24 characters |
Deleting a card is deliberately missing. The prompt tells the AI what to say instead: “Deleting cards is not available through voice; tell the user to delete the card manually.”
What the AI teammate is told to say
The meeting copilot’s prompt is strict about length. It sets a default of “one short spoken sentence, usually 5–20 words”, a ceiling of 35 words, and at most three points when someone asks for a recap. It bans openers such as “Sure” and “Great question”, and when a fact is missing the scripted reply is “I don’t know from this meeting.”
It is also strict about language. The prompt says “this release has exactly one assistant output language: English”, and tells the AI to answer a request in another language in English. Transcription can listen in up to four languages, but the meeting copilot only ever replies in one.
The stack, piece by piece
Seven services from two companies sit behind one meeting, plus the orchestrator you host yourself.
| Component | Role in the meeting copilot | Billed to |
|---|---|---|
| Agora RTC | Carries participants’ audio and video and the AI’s voice | The Agora project owner |
| Agora Signaling (RTM) | Delivers AI transcript and state events to browsers | The Agora project owner |
| Agora Real-Time Speech-to-Text | Speaker-attributed meeting transcript | The Agora project owner |
| Agora Conversational AI | Runs the AI participant in the channel | The Agora project owner |
| OpenAI GPT-Live-1 | Full-duplex voice conversation | The host’s OpenAI key |
| OpenAI gpt-5.5 | Backend that decides board actions | The host’s OpenAI key |
| OpenAI gpt-5.4-mini | Live and final meeting notes | The host’s OpenAI key |
| Fastify orchestrator and PostgreSQL | Rooms, tokens, wake policy, tools and storage | Whoever hosts it (the README suggests Railway) |
Who Built the Meeting Copilot, and When
The repository sits at github.com/zicojiao/agora-meeting-copilot, and its README calls the project “Agora Meeting Copilot”. It is not in any of Agora’s GitHub organisations, and neither of Agora’s two GPT-Live blog posts mentions it.
A personal repository with Agora fingerprints
The account belongs to “Zico”, with no company listed. Eight of the 13 repositories it created in 2026 name Agora in their title or description, from a multiplayer drawing game to a talking 3D bull. The meeting copilot’s prompt uses “Zico” and “Hermes” as its two example participants. Hermes is also the name on the GitHub account that published Agora’s GPT-Live recipes, a profile that lists Director, Developer Relations at Agora, and Hermes Frangoudis wrote Agora’s July latency study of GPT-Live.
Nine commits over two nights
The public history is short. Here it is in full, with the times the commits were made.
| Committed (UTC) | Commit message | Lines added | Lines removed | Files |
|---|---|---|---|---|
| 10 Sep, 10:39 | Initialize the Next.js meeting workspace | 7,254 | 0 | 11 |
| 10 Sep, 10:39 | Build the Agora real-time meeting experience | 5,420 | 0 | 63 |
| 10 Sep, 10:39 | Add the GPT Live AI teammate and Kanban tools | 8,925 | 0 | 55 |
| 10 Sep, 10:39 | Add a secure meeting lifecycle and transcript UX | 1,354 | 39 | 20 |
| 11 Sep, 02:24 | Upgrade the AI teammate to GPT-Live-1 with meeting controls | 336 | 146 | 23 |
| 11 Sep, 02:25 | Harden multi-participant behavior and runtime security | 1,152 | 874 | 22 |
| 11 Sep, 02:25 | Add bilingual open-source documentation | 546 | 90 | 3 |
| 11 Sep, 02:41 | Add secure OpenAI BYOK for AI meetings | 400 | 59 | 21 |
| 11 Sep, 03:05 | Remove the private preview access gate | 0 | 252 | 10 |
Four commits share one timestamp to the second, yet the repository was created on 10 July, two days after GPT-Live reached ChatGPT. The public history was evidently rewritten before release, so two months of development on the meeting copilot are not visible. That also means the commit dates tell you when code was published, not when it was written.
The GPT-Live-1 upgrade is 1.3% of the code added
Measured by lines added, the change in the headline is the smallest feature commit: 336 of 25,387 lines, or 1.3%.
That is not a criticism. The AI teammate existed before the upgrade commit, so the upgrade mostly moved it to the model name OpenAI now lists and added meeting controls. Most of the meeting copilot is ordinary product work: rooms, tokens, transcripts, a board and tests.
From ChatGPT launch to open source in 65 days
The dates line up with the model’s rollout, and with Agora’s own work on GPT-Live.
| When (UTC) | What happened | Source |
|---|---|---|
| 8 July 2026 | OpenAI launches GPT-Live in ChatGPT | OpenAI |
| 10 July, 03:36 | The agora-meeting-copilot repository is created | GitHub |
| 10 July | Agora publishes its GPT-Live latency study | Agora blog |
| 9 September | Design note: the AI may answer only when freshly addressed | Repository |
| 10 September | OpenAI releases GPT-Live-1 in its API | OpenAI |
| 10 September, 19:29 | Agora’s agents SDK 2.8.0 is published to PyPI and npm | PyPI, npm |
| 10 September, 21:58 | Agora’s three GPT-Live recipe repositories are created | GitHub |
| 11 September, 02:24 | The meeting copilot’s GPT-Live-1 upgrade is committed | GitHub |
| 11 September, 02:41 | Bring-your-own-key support is committed | GitHub |
| 11 September, 03:05 | The private preview access gate is removed | GitHub |
From GPT-Live’s ChatGPT debut on 8 July to the public meeting copilot on 11 September is 65 days. OpenAI’s API release came 64 days after the ChatGPT launch, and the meeting copilot followed within a day.
How the Meeting Copilot Wires GPT-Live-1 Into Agora
In Agora’s own samples, the Conversational AI agent connects straight to OpenAI with the developer’s key. The meeting copilot puts its own server in between, and that one decision explains most of the code.
Agora talks to the proxy, not to OpenAI
When the host invites the AI teammate, the orchestrator tells Agora to start a GPT-Live agent, but hands it a WebSocket address on the orchestrator itself instead of OpenAI’s. The “API key” Agora receives is an HMAC-SHA256 signature over the room ID, the model name and an expiry time, valid for at most 24 hours. When Agora connects, the proxy checks the signature, fetches the host’s real OpenAI key from memory and opens the upstream connection to OpenAI’s live sessions endpoint.
The proxy adds a GPT-5.5 backend
GPT-Live-1 hands reasoning and tool use to a backend model, which OpenAI calls delegation. The proxy rewrites the session’s opening message to add a Responses backend: gpt-5.5 by default, with reasoning effort and verbosity set to low, a 1,024-token output cap and the four board functions. That replaces the SDK’s own default backend, which Agora’s type definitions give as “gpt-5.6-sol”.
Board actions run on the server
When the backend calls a board function, the proxy catches the event before it reaches Agora, validates the arguments, applies the change and returns the result to OpenAI with an instruction to continue. The backend’s instructions repeat the meeting copilot’s two safety rules. It must not call a function unless the utterance “freshly and directly addresses Copilot by name”, and it must “never claim that the board changed until the function result reports ok=true”.
Agora’s own GPT-Live-1 explainer, published on 10 September, makes the same point in general terms: “An assistant should never announce success before an action is confirmed.”
What Agora sees, and what it does not
This design keeps the host’s OpenAI key away from Agora, which only ever holds the short-lived signature. It does not keep the conversation away from Agora. Meeting audio travels over Agora RTC, and Agora’s agent relays what it hears to the proxy and on to OpenAI, then carries the AI’s replies back, so the voice path crosses three operators: Agora, whoever hosts the orchestrator, and OpenAI.
Agora’s recipe against the meeting copilot
Agora’s Python recipe for GPT-Live, published by its developer relations team the same night, makes different choices at almost every step.
| Setting | Agora’s Python GPT-Live recipe | Agora Meeting Copilot |
|---|---|---|
| Model name | gpt-live-1-diamond-alpha | gpt-live-1 |
| Alpha selector | SDK default kept | Explicitly removed |
| Whose audio the agent processes | One named user | Every participant |
| Agora idle timeout | 30 seconds | 0 (disabled) |
| Maximum session length | 3,600 seconds | Room lifetime, capped at 86,400 seconds |
| Backend model | SDK default (gpt-5.6-sol) | gpt-5.5 |
| Custom tools | None | Four, run by the orchestrator |
| OpenAI key | Server environment variable | Host’s own key, held behind the proxy |
| Voice | cedar | cedar |
| Agora client region | US | US |
The recipe is a one-to-one voice demo; the meeting copilot is a room with several people. The listening, timeout and tooling differences all follow from that.
Why the Meeting Copilot Stays Silent Until Called
The meeting copilot’s most important feature is one the README mentions in a single line: “A fresh wake phrase for every AI response, reducing accidental interruptions in team conversations.” The repository’s own design note explains why it exists.
GPT-Live answers conversations that are not meant for it
In July, Agora’s lab tested GPT-Live in ChatGPT in a noisy room where nobody was addressing it. It “spontaneously answered background voices in 4 of 30 ten-second windows”, while the older voice modes stayed silent. Agora called that “a speaker-attribution problem: the system detects speech correctly but misjudges who it’s for.” A meeting is that noisy room by design, because several people talk and most of what they say is meant for each other.
OpenAI’s prompting guide offers a line for the problem, “Do not treat a cough, music, or nearby conversation as a new request”, and another for assistants that should respond only when the user “addresses you directly”. A prompt is a request to the model, though, not a guarantee.
A failed demo and a name misheard as “Purvis”
The design note, dated 9 September, records what happened in practice: “Production transcripts show Copilot answering human turns that did not address it.” It also names the constraint. “The GPT Live v3 provider in the installed Agora SDK ignores turnDetection, so VAD and eagerness tuning cannot enforce participation policy.” The SDK’s type definitions agree: turn detection is “ignored with a warning; v3 performs endpointing internally.”
The fix recognises “Copilot” and “co-pilot”, the code also accepts “Live Copilot” and “GPT Live”, and there is one more name, “Purvis”, which the note describes as “the observed transcription alias” from the moment “the spoken wake name was misrecognized in the failed demo”. A test in the repository checks that “Um, Purvis, what should we do next?” wakes the AI.
Three layers of defence
The meeting copilot now enforces silence three times over. The prompt opens with a “Highest-Priority Participation Contract” that makes silence the default and says “every response requires a fresh direct address”. The orchestrator checks each finished transcript line against a wake pattern, and, according to the design note, a human turn that does not start with the name sends an interrupt to the live session. The backend, finally, is told not to call a board function without a fresh address.
None of the three changes how GPT-Live-1 detects speech. They change what the meeting copilot is allowed to do with it.
The wake phrases, exactly
The pattern is short enough to read in full, so here is what it accepts and what it ignores.
| What someone says | What the meeting copilot does |
|---|---|
| “Copilot, what’s our next step?” | Wakes and answers once |
| “Hey Copilot” or “Um, so, Copilot” | Wakes: up to two filler words may come first |
| “Co-pilot”, “Live Copilot” or “GPT Live” | Wakes: all are accepted names |
| “Purvis, what should we do next?” | Wakes: a transcription alias from the failed demo |
| “What do you think, Copilot?” | Stays silent: the name must come first |
| “Thanks Copilot” or “Stop Copilot” | Returns to standby without answering |
What the wake phrase costs in conversation
The trade-off is naturalness, which is the very thing GPT-Live-1 is sold on. A teammate that must be addressed by name every time cannot speak up when it notices a mistake, and every follow-up needs the name again; the design note is explicit that “a previous address never authorizes later turns”. In a shared room that is probably the right call. In a one-to-one call it would feel stilted, which is why Agora’s recipe does without it.
The Meeting Copilot Runs a GA Model Through an Alpha Route
The strangest detail in the meeting copilot is a two-line comment. It points to a gap between what OpenAI has released and what Agora’s integration is labelled.
Two names for one model
OpenAI’s GPT-Live-1 model page lists a single snapshot and tells developers to “use gpt-live-1 in your API requests”. Agora’s documentation page for the same integration, checked on 12 September, opens with a warning box: “GPT-Live is an alpha preview built on gpt-live-1-diamond-alpha. It is not intended for production traffic.” Its Python, TypeScript, Go and REST samples all use the alpha name.
| Source (checked 12 Sep 2026) | Model name | How it is described |
|---|---|---|
| OpenAI GPT-Live-1 model page | gpt-live-1 | The only snapshot listed; Free tier unsupported |
| Agora docs, OpenAI GPT-Live page | gpt-live-1-diamond-alpha | “Alpha preview”, “not intended for production traffic” |
| Agora agents SDK 2.8.0 type definitions | Defaults to gpt-live-1-diamond-alpha | “GPT Live v3 alpha options. Not for production traffic.” |
| Agora’s Python, Next.js and Go recipes | gpt-live-1-diamond-alpha | MIT-licensed sample code |
| Agora Meeting Copilot | gpt-live-1 | Public demo, host brings the key |
What the SDK does by default
Agora’s agents SDK 2.8.0, which the meeting copilot pins, files GPT-Live under preview providers. It defaults the model to the alpha name, adds an “OpenAI-Alpha selector” that Agora’s REST sample shows as quicksilver=v3, and routes every GPT-Live session to a separate preview endpoint on partner.ai.agora.io with an agora-feature: live-models header. Agora’s documentation says SDK version 2.8.0 does that routing automatically.
The one-line override
The meeting copilot sets the model to gpt-live-1 and blanks the selector, with a comment that explains why: “agora-agents 2.8.0 still carries an alpha selector as a provider default. Explicitly omit it when using the generally available model.” What it does not change is the route. Its sessions still start through the SDK, and the SDK sends every GPT-Live session to Agora’s preview endpoint.
What “not intended for production traffic” means here
The public deployment is live at agora-meeting-copilot.vercel.app, and the final commit removed the access gate that had kept it private. That is a reasonable home for a demo. It is not yet a template for a company’s real meetings, and anyone starting from Agora’s recipes should check which model name Agora’s documentation lists before sending production calls through it.
Where Your OpenAI Key Goes in the Meeting Copilot
The meeting copilot’s last feature commit, 400 lines added, changed who pays. It is also the part of the code a security reviewer would read first.
The host pays, and the screen says so
In the default mode, which the README calls BYOK (bring your own key), the host pastes an OpenAI API key into the Invite Copilot dialog. The dialog states: “OpenAI usage is billed to the account that owns this key.” The design note gives the motive, to “stop the public Agora Meeting Copilot deployment from charging OpenAI usage to the repository owner”.
A browser tab, then server memory
The key is saved in the tab’s session storage under a room-specific name, sent in the body of the start request, and held by the orchestrator in an in-memory map that expires with the room. It is used in two places: the upstream GPT-Live connection and the meeting notes. The code checks only that the key is 20 to 512 characters with no spaces, and does not test it with OpenAI before the AI joins.
The dialog’s wording is accurate: “Saved only in this browser tab.” The README’s feature list is not, because it still says “Agora and OpenAI secrets never reach the browser”. In BYOK mode the host’s OpenAI key reaches the browser by design, since that is where the host types it.
One server, by design
Because the key lives in one process’s memory, the design note rules out scaling the meeting copilot as it stands: “Horizontal scaling would require a dedicated ephemeral secret service with affinity; it must not fall back to PostgreSQL.” That suits a demo, and would need rework before a company-wide deployment.
Data controls on each hop
For a UK or EU business, the cybersecurity question is not only where the key lives but where the meeting’s voice goes.
| Hop | What it carries | What the code and docs say |
|---|---|---|
| Agora RTC | Every participant’s audio and video | Governed by your Agora account’s terms |
| Agora Conversational AI (preview endpoint) | All participants’ audio, the prompt and recent meeting context | Server SDK client created with the US area setting |
| Orchestrator proxy | Meeting audio bound for GPT-Live-1, the AI’s replies and events, plus the OpenAI key in memory | Wherever you host it |
| OpenAI GPT-Live-1 | Conversation audio and instructions | Code uses the default api.openai.com host; OpenAI lists GPT-Live as Zero Data Retention eligible, with limitations, and offers US or EU residency |
| OpenAI gpt-5.5 and gpt-5.4-mini | Board requests and transcript text for notes | OpenAI says delegated backend models have their own data controls |
What a Meeting Copilot Minute Costs
A meeting copilot that says nothing for most of a meeting sounds cheap. The price lists say otherwise, because both companies bill for the time the AI is present, not the time it talks.
Two meters run while the AI says nothing
OpenAI bills GPT-Live-1 at $0.05 a minute, charged per second, and its cost guide is explicit that “active session time includes time when the user speaks, the assistant speaks, both are silent, or the backend is working.” Agora bills a Conversational AI Engine audio task at $0.10 a minute and adds: “You are charged the same price even if you bring your own key (BYOK).”
Agora’s pricing page lists that one rate for an agent in a channel and does not mention GPT-Live or its preview endpoint separately, so treat it as the working assumption rather than a quote. On that basis, the meeting copilot’s AI teammate costs $0.15 a minute at list prices, whether it speaks or not.
A 45-minute meeting, priced
Here is a 45-minute video meeting with four people and the AI teammate present throughout, at list prices.
| Line item | List price | Calculation | Cost |
|---|---|---|---|
| GPT-Live-1 voice session | $0.05 per minute | 45 × $0.05 | $2.25 |
| Agora Conversational AI audio task | $0.10 per minute | 45 × $0.10 | $4.50 |
| Agora RTC, four people on HD video | $3.99 per 1,000 HD minutes | 4 × 45 × $3.99 ÷ 1,000 | $0.72 |
| Agora Real-Time Speech-to-Text | Not on the pricing pages we checked | – | Not included |
| gpt-5.5 backend | $5 per million input tokens, $30 per million output | Depends on board requests | Not included |
| gpt-5.4-mini notes | $0.75 per million input tokens, $4.50 per million output | Depends on transcript length | Not included |
| Total of the priced lines | $2.25 + $4.50 + $0.72 | $7.47 |
These are prices before free allowances. Agora’s first 300 agent minutes each month are free, enough for six 45-minute meetings with 30 minutes to spare, and its Free RTC package includes 10,000 standard minutes a month, with HD video counted at four standard minutes per minute.
Where each minute goes
The AI teammate accounts for $6.75 of the $7.47, or 90.4%. The four people’s video adds less than two cents a minute.
When the meters stop
The meeting copilot stops the agent when the host removes it, when the meeting ends, and 90 seconds after the last person leaves. Agora’s own safety timer is off: the code sets the idle timeout to 0, and Agora’s API reference says that at 0 “the agent does not exit due to channel idle timeout”. Agora’s recipe uses 30 seconds. The session’s hard expiry is the room lifetime, 24 hours by default.
The 90-second grace period costs at most $0.225 at the combined $0.15 rate. The backstop matters more when something goes wrong. The empty-room timer lives in the orchestrator’s memory, and nothing in the code we read reschedules it after a restart, so a crash mid-meeting loses it. An agent left in the channel until its 24-hour expiry would run 1,440 minutes, or $144 on the Agora audio task alone. The design note’s deployment checklist already includes a manual step to “confirm no stale preview agents remain”.
Ways to cut the bill
- Invite the AI teammate for the part of the meeting that needs it, then remove it. OpenAI’s guide puts the saving plainly: “Closing saves $0.05 per minute of idle voice time.”
- Set Agora’s idle timeout to a non-zero value, as Agora’s recipe does, so an orphaned agent leaves on its own.
- Shorten the room lifetime from 24 hours if meetings never run that long, which also caps the agent’s expiry.
- Watch the backend. Every board request is a gpt-5.5 call, and long meetings mean longer transcripts for the notes model.
How Finished Is the Agora Meeting Copilot?
For a demo, a lot of care has gone in. The gaps are in documentation and scale, not in the core behaviour.
91 tests for 13,152 lines
The meeting copilot has 13,152 lines of TypeScript, JavaScript, SQL and CSS, including 2,527 lines of TypeScript tests. We counted 91 test cases: 63 unit tests for the orchestrator and 28 end-to-end Playwright scenarios. Among the unit tests, the most heavily tested areas are configuration with 10, the HTTP API with 8, and the GPT-Live gateway and the prompts with 7 each, so the behaviours that matter most, from the wake pattern to key handling, are pinned down.
Where the README and the code disagree
The README’s feature list has ten bullets, and two of them are now wrong. A third mismatch sits in the configuration example.
| The README says | The code says |
|---|---|
| “An optional access gate for private demos.” | The gate was deleted in the final commit, 252 lines across 10 files |
| “Agora and OpenAI secrets never reach the browser.” | In the default BYOK mode, the host’s OpenAI key is stored in the browser tab’s session storage |
| INSIGHT_COOLDOWN_SECONDS=90 in the configuration example | The orchestrator’s configuration schema has no such setting, so the value does nothing |
None of the three changes how the meeting copilot behaves. All three matter to someone deploying it from the README.
Built for one instance
Rooms can persist in PostgreSQL, but active agent sessions, empty-room timers and OpenAI keys live in one process’s memory. Agora’s own recipe gives the same warning about its sample: “Use shared storage or request affinity before running more than one backend instance.”
An internal Feishu publisher in an open-source repo
The orchestrator also contains an optional publisher, in a folder named internal/feishu, that posts meeting notes to a Feishu wiki and group chat. Feishu is the Chinese edition of ByteDance’s Lark workplace suite, and the settings only accept tenant addresses ending in feishu.cn. It is switched on by default but stays inactive unless all five Feishu values are set, so it suggests the meeting copilot began as a tool for a team working in Feishu.
What Agora's Own Lab Measured About GPT-Live
Agora’s Media Lab published a controlled test of GPT-Live on 10 July, using the ChatGPT app on an iPhone 13. It comes with its own disclosure: “this is our business, so discount our emphasis accordingly.” It also tested ChatGPT, not the API, which was still waitlist-only at the time.
Slower to stop, harder to fool
GPT-Live took 498 ms longer than Advanced Voice Mode to go quiet when someone deliberately interrupted it. In exchange, it ignored noise that fooled the older modes.
| Agora lab test (n=30 per condition) | GPT-Live | Advanced Voice Mode | Standard Voice Mode |
|---|---|---|---|
| False-interruption probes it fell for, of 60 | 1 | 22 | Not stated |
| Background-speech probes that stopped it, of 30 | 0 | 20 | 30 |
| Time to stop when interrupted | 498 ms slower than Advanced | Baseline | Not stated |
| Median delay added by 10% uplink packet loss | 314 ms | 2,448 ms | Not stated |
| Windows where it answered background voices, of 30 | 4 | 0 | 0 |
Steadier, not faster
At the median, GPT-Live answered 205 ms faster than Advanced Voice Mode. The bigger change was consistency: Advanced’s 90th-percentile response took 2,318 ms, while GPT-Live’s sat 104 ms above its own median, and the spread shrank from 489 ms to 104 ms.
Packet loss showed the biggest gap of all. Losing 10% of uplink packets cost GPT-Live about an eighth of the delay it cost Advanced Voice Mode.
Why a meeting is the hard case
The lab measured one voice talking to ChatGPT. A meeting copilot hears several voices, most of them not addressing it, which is the condition where GPT-Live answered 4 windows in 30, or 13.3%. A 45-minute meeting holds 270 ten-second windows, and 13.3% of 270 is 36. The lab did not test a meeting, so treat that as a sense of scale rather than a forecast, but it shows why the meeting copilot’s wake phrase is a feature and not a quirk.
Should Your Business Build a Meeting Copilot on GPT-Live-1?
Voice teammates in meetings are coming from the big suites as well, as Google’s Rooms prototype for Gemini Enterprise shows. The open-source meeting copilot is useful because it shows the plumbing those products hide.
Where it fits now
- Internal meetings in English, where a team wants hands-free board updates and reliable notes.
- Prototypes that test whether a voice teammate helps your meetings at all, starting from MIT-licensed code.
- Developers evaluating Agora and GPT-Live-1 together, since the proxy pattern and the wake policy are reusable in other rooms.
If you are deciding where an AI teammate belongs in your organisation, our AI strategy and AI employees and autonomous agents teams can help map the use case before anyone writes code.
Where to wait
- Customer calls, sales calls and regulated conversations. Agora labels the route alpha, and a board action by voice is still a write to a business system.
- Meetings held in other languages, because this release replies only in English.
- Anything with a UK or EU data-residency requirement, since the code uses OpenAI’s default host and a US Agora area setting.
- Company-wide rollout, until keys, timers and sessions move out of a single process.
Six checks before a meeting copilot pilot
A pilot of any GPT-Live-1 meeting copilot, this one or your own, should clear these six questions first.
| Check | Why it matters | Where to look |
|---|---|---|
| Model name and route | Agora still labels its GPT-Live integration an alpha preview | Agora’s OpenAI GPT-Live documentation page |
| Idle timeout | A value of 0 leaves only your own server to remove the agent | The agent session settings |
| Budget per meeting | $0.15 a minute runs whether the AI talks or not | Agora and OpenAI price lists |
| Wake policy | Names get misheard, as “Purvis” shows | Tests with your own team’s voices |
| Data path | Audio crosses at least three operators | Your data protection assessment |
| Consent | Everyone in the room is being transcribed by an AI | Your meeting and recording policies |
The consent point is not theoretical. As we wrote about Apple Watch’s new AI features, always-listening tools change what people expect from a room. Put the data path through your data protection review and your IT governance process before a pilot, not after it.
Agora Meeting Copilot and GPT-Live-1: Frequently Asked Questions
What is Agora Meeting Copilot?
It is an MIT-licensed meeting app on GitHub in which an AI teammate joins an Agora video call, speaks with OpenAI’s GPT-Live-1, and updates a shared Kanban board by voice. The meeting copilot also produces a speaker-attributed transcript and meeting notes.
Is the meeting copilot free?
The code is free under the MIT licence. Running it is not: at list prices, Agora charges $0.10 a minute for the AI agent plus video minutes, and OpenAI charges the host’s key $0.05 a minute for GPT-Live-1, plus backend and notes tokens.
Does the meeting copilot record the meeting?
It keeps a speaker-attributed transcript and notes, and offers them as Markdown files and a ZIP when the meeting ends, for 24 hours by default. There is no video recording in the code.
Which GPT-Live model does it use?
It uses gpt-live-1, the model name on OpenAI’s model page. Agora’s documentation and recipes use gpt-live-1-diamond-alpha, and the meeting copilot deliberately overrides the SDK’s alpha default.
Can it answer in languages other than English?
No. Its prompt allows “exactly one assistant output language: English”, even when someone speaks another language. Transcription can be configured for up to four languages.
Does Agora see my OpenAI API key?
No. Agora receives a short-lived signature for the meeting copilot’s own proxy, which adds the real key when it connects to OpenAI. The key stays in the host’s browser tab and in the orchestrator’s memory.
References and Further Reading
Agora Meeting Copilot repository on GitHub
OpenAI GPT Live with Agora and Python recipe
Agora Docs: Conversational AI Engine pricing
Agora Docs: Video Calling pricing
Agora API reference: Start a conversational AI agent
Agora: OpenAI Didn’t Publish GPT-Live’s Latency. So We Measured It.
Agora: Voice AI That Listens While It Talks, Inside GPT-Live-1
OpenAI: Build more natural voice experiences with GPT-Live-1 in the API
OpenAI API docs: GPT-Live usage and costs
OpenAI API docs: Prompting GPT-Live
More AI coverage: explore Progressive Robot's AI Models, Tools & Releases hub — hands-on reviews, setup guides and benchmarks in one place.