質疑応答の時間から質問数を計算
この計算ツールは、質疑応答の持ち時間と、質問から回答までにかかる平均時間を、現実的な質問受付数に換算します。最後まで対応できる枠だけを数え、使用予定の分数と残り時間も表示します。講演者、教員、司会者、イベント運営者の方は、開始前の案内、進行表の調整、短い質疑時間ではすべての挙手に対応できない理由の説明などにご利用いただけます。
無料で実行
実際に質問へ使える時間から始めます
講演、授業、パネル、ウェビナー、会議の全体時間ではなく、聴衆との質疑応答に確保した分数だけをご入力ください。60分の催しが45分の発表、5分の導入、10分の質疑応答で構成される場合、入力値は10です。ほかの進行に大半の時間が割り当てられているとき、全体時間を使うと過大な質問数になってしまいます。司会者が質疑の開始を案内する、マイクを運ぶ、収録用に質問を繰り返す、最後にまとめるといった作業も同じ枠で行う場合は、その時間を含めてください。別の進行枠がある作業は除外します。本ツールは入力された時間を厳密な上限として扱い、終了時刻の延長、休憩の短縮、ほかの登壇者の持ち時間削減を前提にしません。実際の上限を使うことで、運営に役立ち、登壇者や参加者にも説明しやすい見積もりになります。
一往復全体の現実的な平均時間を選びます
質問1件あたりの平均時間には、質問者の指名、質問を聞く時間、回答、必要な受け渡しまで、一往復の全体を含めてください。質問を口にする時間だけではありません。似た催しの計測記録が最も信頼できる材料ですが、過去データがない場合は計画上の想定値でも構いません。短い事実確認なら1分または2分で済む一方、技術的な説明、複数登壇者からの回答、追加質問には数分かかることがあります。想定できる最速のやり取りを平均値にすると、その進行を安定して維持できません。反対に慎重すぎる平均値では、活発な質疑を必要以上に制限します。新しい形式では、短め、標準、長めの複数条件で計算してください。司会方法による収容数の違いが分かり、簡潔な質問の依頼、追加質問の制限、事前募集、詳しい回答用の時間確保を判断しやすくなります。
完了できる枠と残り時間を読み取ります
結果に含まれるのは、質問と回答を最後まで完了できる枠だけです。持ち時間を平均所要時間で割り、端数を切り捨てます。途中までの枠では、もう1件を確実に受け付けられないためです。たとえば20分の持ち時間で1件平均3分なら、質問数は6件、使用予定は18分、残りは2分です。残り時間は、回答時間のばらつき、開始時の説明、拍手、最後の切り替えに備える余裕として役立ちますが、追加の1問として告知することはお勧めしません。実際の会話には変動があるため、これは収容数の見積もりであり保証ではありません。簡潔な回答なら追加の質問が入る場合もあり、複雑な回答なら余裕を使い切ります。時間制限の表示、関連質問の統合、長い議論の終了後への案内によって精度を高められます。進行表が変わったときは再計算してください。数分の差でも完了枠数が変わることがあります。
活用例
カンファレンスの進行を計画する
公開された質疑応答枠から、参加者へ案内できる現実的な質問数を決めます。
授業後の議論を組み立てる
終了時刻を超えずに、講義後に受けられる学生の質問数を見積もります。
ウェビナー司会者の準備を整える
寄せられた質問を選ぶための目標件数と、見える形の時間的余裕を提示します。
よくある質問
質問数はどのように計算されますか?
持ち時間を、質問と回答を完了するまでの平均分数で割り、完全な枠だけを数えるため端数を切り捨てます。
平均時間には何を含めますか?
参加者の質問、回答、および各やり取りに伴う通常の受け渡しや司会進行の時間を含めてください。
結果を切り捨てるのはなぜですか?
端数の時間だけでは追加の質問と回答を最後まで完了できず、確実な枠として案内できないためです。
残り時間でもう1件受けられますか?
前のやり取りが短ければ可能ですが、残りは設定した平均より短いため、余裕として扱う方が適切です。
APIリクエストの料金はいくらですか?
APIの基本料金は1回あたり$0.002です。ブラウザー版では同じ決定論的な計算を端末内で実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
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)リクエスト例
{
"allotted_minutes": 20,
"average_minutes_per_question": 3
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.qa_questions_time",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |