Q&A questions in time calculator
The Q&A questions in time calculator turns a session length and an average question-and-answer duration into a practical audience question count.
Run — free
It uses only complete question slots, then shows how many minutes those slots consume and how much time remains. Speakers, teachers, moderators, event producers, and workshop leaders can use the result to set expectations before a session begins, adjust an agenda, or explain clearly why a short question period cannot accommodate every raised hand.
Start with the time that is genuinely available
Enter only the minutes reserved for audience questions, not the full length of the talk, class, panel, webinar, or meeting. If a sixty-minute event includes a forty-five-minute presentation, a five-minute introduction, and a ten-minute Q&A, the allotted value is ten. This distinction matters because a generous-looking event duration can create an unrealistic question estimate when most of that time already belongs to other activities. Include transition time inside the Q&A allowance when the moderator must introduce the segment, move a microphone, repeat questions for a recording, or close with final remarks. If those activities have their own separate agenda blocks, leave them out. The calculator treats the number you supply as a firm capacity boundary. It does not assume that the event can overrun, borrow from a break, or shorten another speaker. Using the true boundary makes the estimate useful for production planning and gives moderators a defensible number to communicate to presenters and attendees before the session starts.
Choose a realistic average per complete exchange
The average minutes per question should cover the whole exchange: recognizing an audience member, hearing the question, giving the answer, and completing any necessary handoff. It is not merely the time required to speak the question. Historical timing from a similar event is the strongest input, but a planning assumption also works when no prior data exists. Short factual questions may average one or two minutes, while technical explanations, panel responses, or follow-up discussion may require several minutes. Avoid basing the average on the fastest exchange you can imagine, because the resulting capacity will be difficult to achieve consistently. Conversely, an excessively cautious average can make a lively session appear unnecessarily limited. When the format is new, calculate several scenarios with a brisk, expected, and extended average. Those estimates reveal how moderation style affects capacity and help the host decide whether to request concise questions, limit follow-ups, collect questions in advance, or reserve extra time for subjects likely to need detailed answers.
Interpret complete slots and leftover minutes
The result counts only complete question-and-answer slots. It divides the allotted minutes by the average duration and rounds down, because a partial slot is not enough to promise another full exchange. For example, twenty available minutes at three minutes per question produces six questions, using eighteen scheduled minutes and leaving two minutes. The leftover time is useful as a small buffer for variation, opening instructions, applause, or the final transition, but it should not automatically be advertised as another question. Real conversations vary, so this is a capacity estimate rather than a guarantee. A concise answer might create room for an additional question, while a complex one might consume the buffer. Moderators can improve reliability by displaying time limits, grouping related questions, discouraging speeches disguised as questions, or inviting longer topics after the event. Recalculate whenever the agenda changes. Even a few minutes added or removed can change the number of complete slots, especially when the average exchange is relatively long.
What you can do with it
Plan a conference session
Set a realistic audience-question expectation from the Q&A block in the published run of show.
Structure a classroom discussion
Estimate how many student questions fit after a lecture without allowing the class to overrun.
Prepare a webinar moderator
Give the moderator a target count and visible time buffer for selecting submitted questions.
FAQ
How is the number of questions calculated?
The allotted minutes are divided by the average minutes per complete question and answer, then rounded down to count only full slots.
What should the average time include?
Include the audience member's question, the response, and normal handoff or moderation time associated with each exchange.
Why is the result rounded down?
A fractional slot does not provide enough time for a complete additional question and answer, so it should not be promised.
Can leftover minutes be used for another question?
Possibly, if earlier exchanges run short, but the leftover is smaller than the stated average and is better treated as a buffer.
How much does the API request cost?
The API base price is $0.002 per request. The browser version can run the same deterministic calculation locally.
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/edu/qa-questions-time \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"allotted_minutes":20,"average_minutes_per_question":3}'const res = await fetch("https://api.kit.forhosting.com/edu/qa-questions-time", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"allotted_minutes": 20,
"average_minutes_per_question": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/qa-questions-time",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"allotted_minutes": 20,
"average_minutes_per_question": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/qa-questions-time", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"allotted_minutes":20,"average_minutes_per_question":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"allotted_minutes":20,"average_minutes_per_question":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/qa-questions-time", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"allotted_minutes": 20,
"average_minutes_per_question": 3
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.qa_questions_time",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |