createVideoAvatar method
this is api implementation for create human_avatar Video avatar Here is Api base Url human_avatar create video Here is Api Header human_avatar create video Here is Api body human_avatar create video createVideoAvatar function return response after renderVideoAvatar response Here is Api add request human_avatar create video handle json response data class CreateVideoAvatarData
Implementation
Future<CreateVideoAvatarData?> createVideoAvatar(
String secretKey,
String imageUrl,
String speechText,
String gender,
String avatarName,
String videoName,
String avatarId,
Null Function(CreateVideoAvatarData value) onRender) async {
try {
final url = Uri.parse('https://apis.elai.io/api/v1/videos');
final headers = {
'Accept': 'application/json',
'Authorization': 'Bearer $secretKey',
'Content-Type': 'application/json',
};
final data = {
"name": videoName,
"slides": [
{
"id": 1,
"canvas": {
"objects": [
{
"type": "avatar",
"version": 2,
"left": 151.5,
"top": 36,
"fill": "#4868FF",
"scaleX": 0.3,
"scaleY": 0.3,
"src": imageUrl,
"avatarType": "transparent",
"animation": {
"type": null,
"exitType": null,
},
},
],
"background": "#ffffff",
"version": "4.4.0",
},
"avatar": {
"id": avatarId,
"version": 2,
"name": avatarName,
"gender": gender,
"canvas": imageUrl,
},
"animation": "fade_in",
"language": "English",
"speech": speechText,
"voice": "en-US-AriaNeural",
"voiceType": "text",
"voiceProvider": "azure",
}
],
"tags": ["test"],
};
final response = await http.post(
url,
headers: headers,
body: jsonEncode(data),
);
if (response.statusCode == 200) {
var res = CreateVideoAvatarData.fromJson(jsonDecode(response.body));
var result = await renderVideoAvatar(secretKey, res.id ?? '', onRender);
if (result != null) {
return result;
} else {
return null;
}
} else {
return null;
}
} catch (e) {
return null;
}
}