Log S2S Session Duration
curl --request POST \
--url https://secureai.hiperai.ai/api/external/speech/s2s/log-session \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"durationMs": 42624,
"user_id": "60a7c8f5e8b4f5001f7a8c23"
}
'import requests
url = "https://secureai.hiperai.ai/api/external/speech/s2s/log-session"
payload = {
"durationMs": 42624,
"user_id": "60a7c8f5e8b4f5001f7a8c23"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({durationMs: 42624, user_id: '60a7c8f5e8b4f5001f7a8c23'})
};
fetch('https://secureai.hiperai.ai/api/external/speech/s2s/log-session', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"message": "S2S session logged successfully",
"request_id": "3fb8d444-2242-4764-9202-8e9e72464192"
}{
"success": false,
"error": "Invalid user_id",
"message": "The specified user_id does not exist",
"request_id": "3fb8d444-2242-4764-9202-8e9e72464192"
}{
"success": false,
"error": "Failed to log S2S session",
"message": "An error occurred while logging the session",
"request_id": "3fb8d444-2242-4764-9202-8e9e72464192"
}モデル & AI 生成
S2S セッション期間をログに記録する
Log the duration of a completed Speech-to-Speech session and deduct the time from the user’s S2S time quota. This should be called after a session ends to track usage accurately.
Usage Tracking:
- Duration is specified in milliseconds
- Automatically converted to minutes and deducted from user’s quota
- Time is tracked per-user based on license tier
- Activity logs are created for audit purposes
POST
/
speech
/
s2s
/
log-session
Log S2S Session Duration
curl --request POST \
--url https://secureai.hiperai.ai/api/external/speech/s2s/log-session \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"durationMs": 42624,
"user_id": "60a7c8f5e8b4f5001f7a8c23"
}
'import requests
url = "https://secureai.hiperai.ai/api/external/speech/s2s/log-session"
payload = {
"durationMs": 42624,
"user_id": "60a7c8f5e8b4f5001f7a8c23"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({durationMs: 42624, user_id: '60a7c8f5e8b4f5001f7a8c23'})
};
fetch('https://secureai.hiperai.ai/api/external/speech/s2s/log-session', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"message": "S2S session logged successfully",
"request_id": "3fb8d444-2242-4764-9202-8e9e72464192"
}{
"success": false,
"error": "Invalid user_id",
"message": "The specified user_id does not exist",
"request_id": "3fb8d444-2242-4764-9202-8e9e72464192"
}{
"success": false,
"error": "Failed to log S2S session",
"message": "An error occurred while logging the session",
"request_id": "3fb8d444-2242-4764-9202-8e9e72464192"
}S2S セッション期間をログに記録します
完了した Speech-to-Speech セッションの継続時間を記録し、その時間をユーザーの S2S 時間割り当てから差し引きます。エンドポイント
POST /speech/s2s/log-session
説明
完了した Speech-to-Speech セッションの継続時間を記録し、その時間をユーザーの S2S 時間割り当てから差し引きます。使用状況を正確に追跡するには、セッションの終了後にこれを呼び出す必要があります。使用状況の追跡
- 期間はミリ秒単位で指定します
- 自動的に分に変換され、ユーザーの割り当てから差し引かれます
- 時間はライセンス層に基づいてユーザーごとに追跡されます
- アクティビティ ログは監査目的で作成されます。
認証
必須: API キーAuthorization: Bearer sk-your-api-key-here
リクエスト本文
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
durationMs | 整数 | はい | ミリ秒単位のセッション継続時間 (最小: 0) |
user_id | 文字列 | いいえ | このセッションの請求先となるユーザー ID (デフォルトは API キー所有者) |
リクエストの例
curl -X POST "https://{customer.name}.hiperai.ai/api/external/speech/s2s/log-session" \
-H "Authorization: Bearer sk-your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"durationMs": 42624,
"user_id": "60a7c8f5e8b4f5001f7a8c23"
}'
JavaScript/Node.js
// Calculate session duration in milliseconds
const sessionStartTime = Date.now();
// ... session happens ...
const sessionEndTime = Date.now();
const durationMs = sessionEndTime - sessionStartTime;
const response = await fetch('https://{customer.name}.hiperai.ai/api/external/speech/s2s/log-session', {
method: 'POST',
headers: {
'Authorization': 'Bearer sk-your-api-key-here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
durationMs: durationMs,
user_id: '60a7c8f5e8b4f5001f7a8c23'
})
});
const data = await response.json();
console.log('Session logged:', data.message);
パイソン
import requests
import time
# Calculate session duration
session_start = time.time() * 1000 # Convert to milliseconds
# ... session happens ...
session_end = time.time() * 1000
duration_ms = int(session_end - session_start)
url = "https://{customer.name}.hiperai.ai/api/external/speech/s2s/log-session"
headers = {
"Authorization": "Bearer sk-your-api-key-here",
"Content-Type": "application/json"
}
data = {
"durationMs": duration_ms,
"user_id": "60a7c8f5e8b4f5001f7a8c23"
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print('Session logged:', result['message'])
応答
成功の応答 (200)
{
"success": true,
"message": "S2S session logged successfully",
"request_id": "3fb8d444-2242-4764-9202-8e9e72464192"
}
応答フィールド
| フィールド | タイプ | 説明 |
|---|---|---|
success | ブール値 | リクエストが成功した場合は常に true |
message | 文字列 | 成功メッセージ |
request_id | 文字列 | 追跡用のリクエスト ID |
エラー応答
400 不正なリクエスト
{
"success": false,
"error": "Invalid user_id",
"message": "The specified user_id does not exist",
"request_id": "3fb8d444-2242-4764-9202-8e9e72464192"
}
401 不正
{
"success": false,
"error": "Invalid API key",
"message": "The provided API key is invalid or has been revoked"
}
500 内部サーバーエラー
{
"success": false,
"error": "Failed to log S2S session",
"message": "An error occurred while logging the session",
"request_id": "3fb8d444-2242-4764-9202-8e9e72464192"
}
注意事項
- 使用状況を正確に追跡するために、各 S2S セッションの終了後にこのエンドポイントを呼び出します
- 期間は、WebRTC 接続が確立されてから閉じられるまで計算する必要があります。
- 時間は自動的にミリ秒から分に変換され、ユーザーの割り当てから差し引かれます。
user_idパラメータにより、別のユーザー アカウントへの請求が可能になります- 監査目的でアクティビティ ログが自動的に作成されます
- セッションを開始する前に十分な時間が残っていることを確認してください (
/speech/s2s/statusで確認してください)
承認
API key authentication using Bearer token format.
Example: Authorization: Bearer sk-your-api-key-here
ボディ
application/json

