Know who promised what, what is still open, and who got the work
Conversation Cues (Cue for short) reads a line from a meeting, call or chat, together with the turns before it, and scores three cues: did the speaker make a commitment, ask an open question, or hand work to someone else? It is a 32M-parameter model. Use the API, or run the open model yourself.
Use it now
Call the API
Create a SporeLabs account and an API key, add funds, and send a line with the turns before it:
curl https://sporelabs.dev/v1/cues \
-H "Authorization: Bearer $SPORELABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Sure, I will ping Dana today.", "speaker": "Tom", "previous_turns": ["Priya: Can someone chase them before Thursday?"]}'
{
"cues": ["commitment"],
"scores": {"commitment": 0.9531, "delegate": 0.0718, "open_question": 0.008},
"thresholds": {"commitment": 0.54307, "delegate": 0.51, "open_question": 0.69},
"id": "cue_...",
"object": "cues",
"model": "sporelabs/cue-v1",
"usage": {"sentences": 1, "input_tokens": 42, "cost_millicents": 2}
}
cues lists the cues the line carries. Behind it, each cue has a score from 0 to 1 and a threshold, fitted on human-labelled meetings; send thresholds, such as {"delegate": 0.7}, to set your own. Send up to 64 lines at once in items, each with its own speaker and earlier turns, and get one result per line. Your text is scored and not stored.
$0.02 per 1,000 sentences, all three cues included, paid from your SporeLabs wallet. No subscription.
Run it on your own machine
The model, its thresholds and a reference scorer are open on Hugging Face. It runs on a laptop CPU.
hf download SporeLabs/cue-text --local-dir cue-text
See it on one call
- Priya: Can someone chase them before Thursday?
- Tom: Sure, I will ping Dana today.
"Sure, I will" is only a commitment next to the request it answers, so Cue reads up to three earlier turns with every line.
Cue and Jev on the same 116 lines
Four public meetings, line by line. Each answer appears after the time that system took on that line: Cue in your app, median 6 ms; Jev’s API, median 166 ms. The two gave the same cues on 109 of 116 lines. AMI’s own label is beside each line.
- D
The major ones, yeah.
No cue13 msNo cue337 msAMI label: none - D
Mm-hmm.
No cue10 msNo cue270 msAMI label: none - A
Right.
No cue15 msNo cue405 msAMI label: none - C
um but that obviously needs a little bit more working out as to whether it’s really feasible and some of those problems we were mentioning um.
No cue6 msNo cue344 msAMI label: none - A
Okay.
No cue5 msNo cue299 msAMI label: none - C
What we have to do now is to go back to our little places,
No cue15 msNo cue219 msAMI label: action item - C
complete our questionnaire
Commitment12 msCommitment272 msAMI label: action item - C
and some sort of summarisation,
No cue7 msNo cue249 msAMI label: action item - C
which y you’ll get immediately by email.
No cue5 msCommitment329 msAMI label: none - C
Send me your presentations so that I can use them to make the minutes,
Commitment5 msCommitment268 msAMI label: action item - C
and then we’ve got a lunch break
No cue6 msNo cue224 msAMI label: none - D
Mm-hmm.
No cue6 msNo cue321 msAMI label: none - C
and after lunch we go back to our own little stations and have thirty minutes more work.
No cue6 msNo cue322 msAMI label: none - C
Um I’ll put the minutes in that project documents folder,
Commitment14 msCommitment306 msAMI label: none - C
but I’ll send you an email when I do it, so that you know.
Commitment7 msCommitment373 msAMI label: none - A
So where exactly is this i
Open question8 msOpen question311 msAMI label: question - C
It should be on your desktop,
No cue6 msNo cue286 msAMI label: none - C
so on the
No cue6 msNo cue360 msAMI label: none - A
Ah, okay.
No cue5 msNo cue164 msAMI label: none - C
yeah.
No cue4 msNo cue162 msAMI label: none - A
Yeah.
No cue5 msNo cue168 msAMI label: none - D
Yeah.
No cue4 msNo cue203 msAMI label: none - C
So I’ll put it I’ll put them there as soon as I’ve written them.
Commitment5 msCommitment163 msAMI label: none - D
Did you find it?
Open question5 msOpen question162 msAMI label: none - D
It’s just
No cue5 msNo cue168 msAMI label: none - A
Yeah, yeah in that one,
No cue5 msNo cue148 msAMI label: none - D
yeah, yeah.
No cue5 msNo cue232 msAMI label: none - A
right yeah.
No cue5 msNo cue188 msAMI label: none - D
Yeah.
No cue5 msNo cue139 msAMI label: none - A
Yeah.
No cue5 msNo cue271 msAMI label: none - A
Well
No cue4 msNo cue170 msAMI label: none - A
fair enough.
No cue4 msNo cue144 msAMI label: none - A
Um and yeah
No cue4 msNo cue130 msAMI label: none - A
that would help the battery life too
No cue4 msNo cue190 msAMI label: none - A
and if it the remote they do have to press a button for the remote to turn on.
No cue5 msNo cue136 msAMI label: none - A
But then again who wants to turn on a remote control.
No cue6 msNo cue181 msAMI label: none - C
Well
No cue6 msNo cue155 msAMI label: none - A
Kind of if i
No cue6 msNo cue198 msAMI label: none - C
all you have to do is touch the screen
No cue17 msNo cue162 msAMI label: none - C
and it automatically goes on.
No cue8 msNo cue195 msAMI label: none - D
Mm.
No cue5 msNo cue165 msAMI label: none - A
Oh
No cue5 msNo cue199 msAMI label: none - A
to wake up
No cue6 msNo cue160 msAMI label: question - A
okay
No cue6 msNo cue163 msAMI label: none - C
Yep.
No cue4 msNo cue170 msAMI label: none - A
or go into like a dormant mode.
No cue7 msNo cue144 msAMI label: none - C
Goes into a sleep mode.
No cue6 msNo cue167 msAMI label: none - A
Okay.
No cue8 msNo cue141 msAMI label: none - A
Oh yeah I like that I like the idea of um putting the logo in the boot up screen, nice. Um.
No cue6 msNo cue140 msAMI label: none - A
Um cool
No cue6 msNo cue142 msAMI label: none - A
so
No cue6 msNo cue130 msAMI label: none - A
any last things before we break?
Open question5 msOpen question137 msAMI label: question - A
Alright. Fair enough.
No cue4 msNo cue145 msAMI label: none - D
We’re good?
Open question4 msOpen question192 msAMI label: question - A
Sounds good.
No cue9 msNo cue136 msAMI label: none - A
I’m gonna save th a copy of this in case you guys need any reminders.
Commitment7 msCommitment131 msAMI label: action item - A
I’m gonna save a copy of this
Commitment6 msCommitment183 msAMI label: none - A
and the minutes that I’ll do it in a second
Commitment6 msCommitment144 msAMI label: action item - A
and put them in the shared folder for later reference.
Commitment6 msCommitment144 msAMI label: action item - C
I’ve put my files in the shared folder as well.
No cue8 msNo cue159 msAMI label: action item - A
Brilliant.
No cue6 msNo cue149 msAMI label: none - D
Yeah.
No cue5 msNo cue169 msAMI label: none - A
That’s fab guys. Cool.
No cue6 msNo cue198 msAMI label: none - A
Nathan, I’d like you to work on just the basic look and feel,
Hand-off6 msHand-off160 msAMI label: action item - A
what can we accomplish, um, given these parameters that we’re just gonna sort of have this kind of uh non-remote remote.
No cue10 msOpen question151 msAMI label: none - A
Um, what are our broad constraints before we deve design a prototype.
Open question7 msOpen question176 msAMI label: action item - B
Right.
No cue7 msNo cue187 msAMI label: none - A
And um Ron if you can
No cue6 msNo cue173 msAMI label: action item - A
figure out how probably best to lay out this idea of this simple design with the voice recognition built in and also this kind of drop down or s on the side kind of menu options simple.
No cue7 msHand-off153 msAMI label: action item - A
Somehow work out how we can get this all s in the same place.
No cue12 msHand-off138 msAMI label: none - A
Um, and if you can check product evaluation with m some pilots and stuff.
No cue8 msHand-off158 msAMI label: action item - A
Um I need you guys to work together on making a prototype, um using um prototype building materials um.
Hand-off12 msHand-off169 msAMI label: action item - A
And also um specific instructions will be sent to you by your coaches as well.
No cue11 msNo cue146 msAMI label: none - B
Oh excellent yeah.
No cue7 msNo cue297 msAMI label: none - A
So that’s what to start with for now,
No cue6 msNo cue161 msAMI label: none - A
is that alright,
Open question5 msOpen question166 msAMI label: none - D
Cool.
No cue5 msNo cue173 msAMI label: none - A
you guys feel clear about this?
Open question5 msOpen question161 msAMI label: none - B
That sounds good.
No cue4 msNo cue161 msAMI label: none - C
Fabulous.
No cue6 msNo cue203 msAMI label: none - A
Alright.
No cue5 msNo cue159 msAMI label: none - A
I guess we’ll just hit the bricks.
No cue7 msNo cue152 msAMI label: none - D
Mm-hmm.
No cue5 msNo cue156 msAMI label: none - D
That’s not at the moment a requirement,
No cue5 msNo cue152 msAMI label: none - D
it’s something we’re looking at,
No cue5 msNo cue140 msAMI label: none - B
Yes. Yes.
No cue5 msNo cue139 msAMI label: none - D
what preference
Open question5 msOpen question166 msAMI label: none - D
so it may come round to market research at some point to see what people would like.
No cue11 msNo cue162 msAMI label: none - B
And we’ve talked about um there being an alarm or something, a beeping for being lost, um.
No cue6 msNo cue140 msAMI label: none - A
For detection, right.
No cue6 msNo cue139 msAMI label: none - C
Yeah.
No cue6 msNo cue148 msAMI label: none - B
Learning how to use it should be as simple as possible.
No cue6 msNo cue157 msAMI label: none - B
But there aren’t gonna be that func that many functions incorporated into it
No cue5 msNo cue156 msAMI label: none - B
so it should be fine
No cue5 msNo cue158 msAMI label: none - B
and the I the instruction manual, I don’t know if we deal with that, um.
No cue6 msOpen question149 msAMI label: action item - B
I think
No cue6 msNo cue162 msAMI label: none - B
Yep,
No cue5 msNo cue174 msAMI label: none - A
Yep,
No cue5 msNo cue210 msAMI label: none - B
and different from what’s out there.
No cue5 msNo cue169 msAMI label: none - A
I think
No cue5 msNo cue153 msAMI label: none - D
Okay.
No cue4 msNo cue209 msAMI label: none - B
Yep, I think that’s us.
No cue5 msNo cue156 msAMI label: none - D
What would you specifically like marketing to look at before the next meeting?
Open question5 msOpen question167 msAMI label: action item and question - A
True.
No cue5 msNo cue166 msAMI label: none - C
Okay.
No cue5 msNo cue168 msAMI label: none - D
Or shall I just sort of generally look at all the issues involved?
Open question6 msOpen question183 msAMI label: question - B
I think you might get guidance,
Hand-off6 msNo cue156 msAMI label: none - B
but um
No cue6 msNo cue157 msAMI label: none - B
I th
No cue5 msNo cue304 msAMI label: none - B
Instruction manuals,
No cue4 msNo cue298 msAMI label: none - B
’cause there tends to be a demonised thing,
No cue5 msNo cue320 msAMI label: none - D
Okay.
No cue6 msNo cue321 msAMI label: none - B
u um, they’re everyone’s got like a big pile of them,
No cue5 msNo cue313 msAMI label: none - B
but no one really uses them.
No cue5 msNo cue161 msAMI label: none - D
Okay.
No cue5 msNo cue264 msAMI label: none - B
Um.
No cue9 msNo cue147 msAMI label: none
Measured October 7, 2026. AMI Meeting Corpus, CC BY 4.0.
What each cue means
- Commitment (
commitment): the speaker promises to do something themselves later. "I'll email you once it's done", "leave that with me". - Open question (
open_question): the speaker asks the others a real question and waits for an answer. "What did they quote?", "Anyone know if Thursday works?" - Hand-off (
delegate): the speaker hands a piece of work to someone else. "Priya, could you check the price?", "remind me to call the bank".
Use them to build the follow-up list after a call, keep track of what a team still owes a customer, or let an assistant pick up the work it was handed.
Need a different cue, such as a decision, a risk or a price objection? Tell us what it should catch. SporeLabs trains it on your kind of conversation, proves it against the strongest alternative, and adds it to your API.
How SporeLabs built it
- SporeLabs turned conversation transcripts into one input per line: the line, plus up to three earlier turns marked as the same or another speaker.
- SporeLabs labelled those lines for the three cues with an open teacher model, AutoJev-27B, and checked the teacher by hand on 200 blind examples first (AUROC 0.966 to 0.976 across the three cues).
- SporeLabs trained a small encoder, Ettin 32M, with one scoring head per cue.
- SporeLabs fixed each cue's threshold on development data, then ran the test sets once.
Results
SporeLabs tested the released model on the human-labelled test splits of two meeting corpora, AMI and ICSI, next to TypeSafe Jev 1.13 asked the same questions about the same lines.
| Task and test set | Cue AUROC | Jev AUROC | Cue − Jev | Ahead | Cue F1 |
|---|---|---|---|---|---|
| Commitments and hand-offs, AMIn=33,612; 118 positive | 0.916 | 0.867 | +0.048 (+0.016 to +0.083) | Cue | 0.100 (0.063–0.138) |
| Open questions, AMIn=33,612; 1,283 positive | 0.904 | 0.931 | −0.027 (−0.035 to −0.020) | Jev | 0.525 (0.497–0.552) |
| Open questions, ICSIn=15,153; 622 positive | 0.962 | 0.967 | −0.005 (−0.013 to +0.001) | Tie | 0.602 (0.556–0.651) |
Cue ranked commitments and hand-offs better than Jev on AMI. Jev ranked AMI's open questions better, and the two tied on ICSI. AMI marks action items, which include both promises and work handed to someone, so that row counts a line as found when either cue fired. Public corpora have no separate human labels for hand-offs. Every system, metric and interval is in the benchmark.