Skip to main content
POST
/
v2
/
create_video_from_avatar
Create talking avatar video
curl --request POST \
  --url https://api.jogg.ai/v2/create_video_from_avatar \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "avatar": {
    "avatar_type": 0,
    "avatar_id": 81
  },
  "voice": {
    "type": "script",
    "voice_id": "en-US-ChristopherNeural",
    "script": "Hi, welcome to JoggAI and create longer videos with Talking Avatars in minutes!",
    "audio_url": "https://res.jogg.ai/audio.mp3"
  },
  "aspect_ratio": "portrait",
  "screen_style": 1,
  "caption": true,
  "webhook_url": "https://example.com/webhook",
  "video_name": "My Talking Avatar Video"
}
'
import requests

url = "https://api.jogg.ai/v2/create_video_from_avatar"

payload = {
    "avatar": {
        "avatar_type": 0,
        "avatar_id": 81
    },
    "voice": {
        "type": "script",
        "voice_id": "en-US-ChristopherNeural",
        "script": "Hi, welcome to JoggAI and create longer videos with Talking Avatars in minutes!",
        "audio_url": "https://res.jogg.ai/audio.mp3"
    },
    "aspect_ratio": "portrait",
    "screen_style": 1,
    "caption": True,
    "webhook_url": "https://example.com/webhook",
    "video_name": "My Talking Avatar Video"
}
headers = {
    "x-api-key": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'POST',
  headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    avatar: {avatar_type: 0, avatar_id: 81},
    voice: {
      type: 'script',
      voice_id: 'en-US-ChristopherNeural',
      script: 'Hi, welcome to JoggAI and create longer videos with Talking Avatars in minutes!',
      audio_url: 'https://res.jogg.ai/audio.mp3'
    },
    aspect_ratio: 'portrait',
    screen_style: 1,
    caption: true,
    webhook_url: 'https://example.com/webhook',
    video_name: 'My Talking Avatar Video'
  })
};

fetch('https://api.jogg.ai/v2/create_video_from_avatar', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.jogg.ai/v2/create_video_from_avatar",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'avatar' => [
        'avatar_type' => 0,
        'avatar_id' => 81
    ],
    'voice' => [
        'type' => 'script',
        'voice_id' => 'en-US-ChristopherNeural',
        'script' => 'Hi, welcome to JoggAI and create longer videos with Talking Avatars in minutes!',
        'audio_url' => 'https://res.jogg.ai/audio.mp3'
    ],
    'aspect_ratio' => 'portrait',
    'screen_style' => 1,
    'caption' => true,
    'webhook_url' => 'https://example.com/webhook',
    'video_name' => 'My Talking Avatar Video'
  ]),
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "x-api-key: <api-key>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.jogg.ai/v2/create_video_from_avatar"

	payload := strings.NewReader("{\n  \"avatar\": {\n    \"avatar_type\": 0,\n    \"avatar_id\": 81\n  },\n  \"voice\": {\n    \"type\": \"script\",\n    \"voice_id\": \"en-US-ChristopherNeural\",\n    \"script\": \"Hi, welcome to JoggAI and create longer videos with Talking Avatars in minutes!\",\n    \"audio_url\": \"https://res.jogg.ai/audio.mp3\"\n  },\n  \"aspect_ratio\": \"portrait\",\n  \"screen_style\": 1,\n  \"caption\": true,\n  \"webhook_url\": \"https://example.com/webhook\",\n  \"video_name\": \"My Talking Avatar Video\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("x-api-key", "<api-key>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.jogg.ai/v2/create_video_from_avatar")
  .header("x-api-key", "<api-key>")
  .header("Content-Type", "application/json")
  .body("{\n  \"avatar\": {\n    \"avatar_type\": 0,\n    \"avatar_id\": 81\n  },\n  \"voice\": {\n    \"type\": \"script\",\n    \"voice_id\": \"en-US-ChristopherNeural\",\n    \"script\": \"Hi, welcome to JoggAI and create longer videos with Talking Avatars in minutes!\",\n    \"audio_url\": \"https://res.jogg.ai/audio.mp3\"\n  },\n  \"aspect_ratio\": \"portrait\",\n  \"screen_style\": 1,\n  \"caption\": true,\n  \"webhook_url\": \"https://example.com/webhook\",\n  \"video_name\": \"My Talking Avatar Video\"\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.jogg.ai/v2/create_video_from_avatar")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"avatar\": {\n    \"avatar_type\": 0,\n    \"avatar_id\": 81\n  },\n  \"voice\": {\n    \"type\": \"script\",\n    \"voice_id\": \"en-US-ChristopherNeural\",\n    \"script\": \"Hi, welcome to JoggAI and create longer videos with Talking Avatars in minutes!\",\n    \"audio_url\": \"https://res.jogg.ai/audio.mp3\"\n  },\n  \"aspect_ratio\": \"portrait\",\n  \"screen_style\": 1,\n  \"caption\": true,\n  \"webhook_url\": \"https://example.com/webhook\",\n  \"video_name\": \"My Talking Avatar Video\"\n}"

response = http.request(request)
puts response.read_body
{
  "code": 0,
  "msg": "Success",
  "data": {
    "video_id": "video_123456"
  }
}
Create a talking avatar video by providing a script, avatar ID, and voice ID. This endpoint generates videos with AI avatars speaking your provided text.

Example Usage

curl --request POST \
  --url 'https://api.jogg.ai/v2/create_video_from_avatar' \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "script": "Welcome to JoggAI! Create amazing avatar videos with our API.",
    "avatar_id": 127,
    "voice_id": "en-US-ChristopherNeural",
    "aspect_ratio": 0,
    "screen_style": 0
  }'

Create Avatar Videos Guide

Learn how to create avatar videos step-by-step

Get Video Status

Check the status of your video generation

Authorizations

x-api-key
string
header
required

API key for authentication. Obtain your key from the JoggAI dashboard.

Body

application/json
avatar
object
required

Avatar configuration

voice
object
required

Voice configuration including script or audio input

aspect_ratio
enum<string>
required

Aspect ratio of the output video

Available options:
portrait,
landscape,
square
Example:

"portrait"

screen_style
enum<integer>
required

Background style:

  • 1 - Full screen
  • 2 - Split screen
  • 3 - Picture in picture
Available options:
1,
2,
3
Example:

1

caption
boolean

Enable or disable subtitles

Example:

true

webhook_url
string<uri>

Webhook URL for status notifications

Example:

"https://example.com/webhook"

video_name
string

Custom name for the video

Example:

"My Talking Avatar Video"

Response

200 - application/json

Success

code
integer
required

Business status code:

  • 0 - Success
  • 10104 - Record not found
  • 10105 - Invalid API key
  • 18020 - Insufficient credit
  • 18025 - No permission to call APIs
  • 40000 - Parameter error
  • 50000 - System error
Example:

0

msg
string
required

Response message

Example:

"Success"

data
object