June 11th, 2025
Admin dashboard

Improved Performance & Reliability
Faster translations: Migrated from GPT-based translation to Google Translate API
Higher accuracy: Eliminates inconsistent formatting and unreliable results
Better reliability: More consistent translation quality across all languages
New Voice Actor Options We've added customizable voice actors to enhance user experience:
Glinda (Default female voice)
Sarah (Voice ID: Nhs7eitvQWFTQBsf0yiT)
Jessica (Voice ID: cgSgspJ2msm6clMCkdW9)
SDK Integration To use a custom voice actor, specify the voiceActor parameter in customParams when initializing:
kinestexKit.createWorkoutView(
...,
customParams: ["voiceActor": "cgSgspJ2msm6clMCkdW9"]
)
β οΈ Important Notes:
Generate feedback audio for ALL exercises using your chosen voice actor
Users may experience missing voice guidance if audio isn't available for the selected voice actor
Default voice (Glinda) doesn't require specifying voiceActor parameter
Ensure audio generation uses the correct voice model in the admin dashboard
Enhanced Workout Sequence Control
New Feature: Add custom rest audio directly in the workout sequence
Improved Flexibility: Rest audio is now independent from individual exercises
Multi-language Support: Specify custom audio for all available languages
API Changes The workout fetching API now includes rest audio from the sequence when specified.
Example Workout Structure:
{
"workout_sequence": [
{
"Rest": {
"rest_speech": "Relax for 15 seconds, next up is Squats!",
"countdown": 15
}
},
{
"Squats": {
"rest_speech": "For Squats please sit down, ensure your knee angle is at 90 degrees"
}
},
{
"Rest": {
"countdown": 15
}
},
{
"Jumping Jack": {
"rest_speech": "Jump high and spread your legs while jumping"
}
}
]
}
Logic Explanation:
Squats exercise: Will use custom rest speech "Relax for 15 seconds, next up is Squats!" from the preceding Rest object
Jumping Jack exercise: Will use its own rest speech "Jump high and spread your legs while jumping" since the preceding Rest object doesn't override it
Migration Impact:
No code changes required if you were previously using this functionality
Same logic applies for fetching and playing rest audio in camera components