Skip to main content
This guide will walk you through generating your first digital human video using the NavTalk Video Synthesis API.

Prerequisites

Before you begin, ensure you have:
  • A NavTalk account with API access
  • Your API key (obtain from the dashboard)

Step-by-Step Process

1

Choose Your Input Method

Select one of the three main categories:Image-Driven: Use a static image (e.g., portrait photo)
Video-Driven: Use an existing video file
Built-in Character: Use a built-in character (e.g., navtalk.Leo)
For this quick start, we’ll use the Built-in Character + Text (TTS) method as it requires no additional materials.
2

Submit Generation Request

Send a POST request to generate your video:
curl -X POST "https://app.navtalk.ai/generate" \
  -H "Content-Type: application/json" \
  -d '{
    "license": "your-api-key-here",
    "character_name": "navtalk.Leo",
    "content": "Hello, welcome to NavTalk. This is my first digital human video!",
    "voice": "echo"
  }'
Response:
{
  "status": "started",
  "task_id": "14cb760f-05ac-4fd3-a82c-e841f2f005d0"
3

Query Task Status

Use the returned task_id to check the processing status:
curl -X GET "https://api.navtalk.ai/query_status?license=your-api-key-here&task_id=14cb760f-05ac-4fd3-a82c-e841f2f005d0"
Response:
{
  "status": "done",
  "video_url": "https://easyaistorageaccount.blob.core.windows.net/easyai/uploadFiles/2025/05/09/xxx.mp4"
}
status
string
Current status of the task. Possible values:
  • started: Task created and processing
  • processing: Video composition in progress
  • done: Completed successfully, video URL available
  • failed: Generation failed, check error message
Note: When status is "done", the video_url field will be present in the response.
4

Access Your Video

Once the status is done, you can access your generated video using the video_url from the response. The video URL is publicly accessible and can be used directly in your applications:
if (status.status === 'done') {
  const videoUrl = status.video_url;
  console.log('Video URL:', videoUrl);
  
  // Use the video URL in your application
  // For example, display in a video element:
  const videoElement = document.createElement('video');
  videoElement.src = videoUrl;
  videoElement.controls = true;
  document.body.appendChild(videoElement);
}
The video URL is publicly accessible and can be embedded directly in web pages, mobile apps, or downloaded for offline use. Generation typically takes 10-30 seconds depending on video length and complexity.

Next Steps