স্কিপ করে মূল কন্টেন্ট এ যান

বক্তা যাচাইকরণ API

একটি রেফারেন্স ও একটি পরীক্ষাধীন অডিও ক্লিপ তুলনা করে একই বক্তার কি না জানুন। দুই ফাইলের মিলের স্কোর ও অডিও মেটাডেটাও পান।

মূল URL​

https://api.genderrecognition.com

এন্ডপয়েন্ট​

POST /v1/speaker-verification/api

হেডারসমূহ​

apiKey: YOUR_API_KEY
Content-Type: multipart/form-data

বডি​

ক্ষেত্রধরনআবশ্যকবিবরণ
referencefileহ্যাঁযাচাইয়ের জন্য পরিচিত বক্তার কণ্ঠ।
candidatefileহ্যাঁরেফারেন্সের সঙ্গে যে কণ্ঠটি মেলাতে চান।

উদাহরণ​

curl -X POST "https://api.genderrecognition.com/v1/speaker-verification/api" \
-H "apiKey: YOUR_API_KEY" \
-F "file=@audio.wav"

প্রতিক্রিয়া​

{
"success": true,
"same_speaker": true,
"similarity": 87,
"threshold": 70,
"reference_audio": {
"duration": 4.8,
"sample_rate": 16000
},
"candidate_audio": {
"duration": 5.1,
"sample_rate": 16000
},
"remainingRequests": 119
}

প্রতিক্রিয়ার ক্ষেত্রসমূহ​

ক্ষেত্রধরনবিবরণ
successbooleanদুই ক্লিপ সফলভাবে প্রক্রিয়াকৃত হলে true।
same_speakerbooleansimilarity threshold-এর সমান বা বেশি হলে true; অর্থাৎ দুই ক্লিপ একই বক্তার বলে বিবেচিত।
similarityintegerদুই কণ্ঠের মিল, 0 থেকে 100। মান যত বেশি, মিল তত বেশি।
thresholdintegersame_speaker নির্ধারণের মিলের সীমা, 0 থেকে 100। similarity এই মানের সমান বা বেশি হলে মিল ধরা হয়।
reference_audio.durationnumberতুলনার জন্য ডিকোড করা রেফারেন্স ক্লিপের সময়কাল, সেকেন্ডে।
reference_audio.sample_ratenumberতুলনার আগে রেফারেন্স ক্লিপ যে sample rate-এ (Hz) ডিকোড করা হয়েছিল।
candidate_audio.durationnumberতুলনার জন্য ডিকোড করা পরীক্ষাধীন ক্লিপের সময়কাল, সেকেন্ডে।
candidate_audio.sample_ratenumberতুলনার আগে পরীক্ষাধীন ক্লিপ যে sample rate-এ (Hz) ডিকোড করা হয়েছিল।
remainingRequestsintegerএই সফল অনুরোধের কোটা কেটে নেওয়ার পর অবশিষ্ট API অনুরোধ।

similarity এবং threshold পূর্ণসংখ্যার শতাংশ, কাঁচা স্কোর নয়।

ত্রুটির পরিস্থিতি​

API কী নেই​

{ "error": "API key is required" }

অবৈধ API কী​

{ "error": "Invalid API key" }

ফাইলগুলো অনুপস্থিত​

{ "error": "Both reference and candidate files are required" }

ফাইল অনেক বড়​

{ "error": "File too large" }

অপ্রত্যাশিত ক্ষেত্র​

ফাইল reference বা candidate ছাড়া অন্য ক্ষেত্রে আপলোড হলে (যেমন file ব্যবহার করলে বা অতিরিক্ত ফাইল পাঠালে) এই প্রতিক্রিয়া আসে:

{ "error": "Unexpected field" }

ফাইলের ধরন অবৈধ​

{
"error": "Invalid file type. Allowed formats: WAV, MP3, FLAC, MP4, OGG, AIFF"
}

অডিও রূপান্তর ব্যর্থ​

ফাইলের এক্সটেনশন অনুমোদিত হলেও ffmpeg সেটিকে রূপান্তর করতে না পারলে এই উত্তর আসে (যেমন, ফাইল নষ্ট বা পাঠ-অযোগ্য হলে):

{ "error": "Audio conversion failed: <details>" }

কোটা শেষ​

{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "You have exceeded your free tier limit of 50 requests.",
"detailedMessage": "Insufficient remaining requests. Required: 1, Available: 0",
"details": {
"limit": 50,
"used": 50,
"reset_date": "2026-07-01T00:00:00.000Z"
},
"suggested_action": "Please upgrade to a premium plan to continue using the API."
}
}

প্রক্রিয়াকরণ ব্যর্থ​

{ "error": "Speaker verification failed" }

নোট​

  • ব্যাকএন্ড WAV, MP3, M4A, FLAC, OGG, WebM, AAC, Opus, WMA, AMR, 3GP, AIFF, AU-সহ প্রচলিত অনেক অডিও ফরম্যাট গ্রহণ করে এবং বিশ্লেষণের আগে non-WAV ফাইল রূপান্তর করে।
  • দুই আপলোডেই reference ও candidate ক্ষেত্র ব্যবহার করুন; প্রতিটি ফাইল 10 MB বা কম হতে হবে।
  • রেফারেন্স ও পরীক্ষাধীন ক্লিপ আলাদাভাবে প্রক্রিয়াকৃত হয়, তাই দৈর্ঘ্য, sample rate এবং ফরম্যাট আলাদা হতে পারে।
  • যাচাই সফলভাবে শেষ হলেই একটি অনুরোধের কোটা কাটা হয়।