[SSFM only] Predefined style of speaking¶
All SSFM-based actors come with 4 basic emotions by default: normal
, happy
, sad
, and angry
. You can adjust the intensity of these emotions to achieve the exact mood you want. These presets make it easy to add natural-sounding emotions to your text-to-speech output.
Follow the steps below:
Step 1. Check Available Actors¶
curl \
--request GET \
--url https://typecast.ai/api/actor/ \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $API_TOKEN"
Step 2. Check if the Actor Supports SSFM¶
Using the actor_id
from Step 1, call the following API. If the display_name
starts with SSFM-
, it means the actor supports the SSFM model. Use the name
value from this result in Step 3.
curl \
--request GET \
--url https://typecast.ai/api/actor/${24-letters-your_actor_id}/versions \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $API_TOKEN"
Step 3. Request Speech Generation¶
Use the SSFM name
obtained in Step 2 as the model_version
in your speech generation request. It will usually be something like v1
, v2
, etc. Set emotion_tone_preset
to normal-1
, and choose one of happy
, sad
, or angry
for emotion_label
. The default value for emotion_scale
is 1.0, but you can increase it up to 2.0 for a stronger emotional effect.
curl \
--request POST \
--url https://typecast.ai/api/speak \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $API_TOKEN" \
--data '{
"text": "My name is Typecast.",
"lang": "auto",
"xapi_hd": true,
"actor_id": "6059dad0b83880769a50502f",
"model_version": "v5",
"emotion_tone_preset": "normal-1",
"emotion_label": "angry",
"emotion_scale": 1
}'