API Reference / Introduction

Introduction

Explore the Qavix API reference with comprehensive guides, code examples, and endpoint documentation. Integrate powerful AI video translation, voice synthesis, and smart editing into your applications.

Base URL

https://qavixi.com/qavix

Authentication

All API requests must include your API Key in the Authorization header, format: Bearer .

Need an API Key?

Go to the Developer Console to apply for your API Key.

Go to Console
HeaderDescription
AuthorizationFormat: Bearer

Response Format

All API responses use a unified JSON envelope format.

Success Response

{
  "success": true,
  "data": {
    "task_id": "551",
    "task_type": "video_translation",
    "status": "pending",
    "estimated_credits": 60
  },
  "usage": {
    "credits_used": 60,
    "credits_remaining": 10000
  }
}

Error Response

{
  "success": false,
  "error": {
    "type": "validation_error",
    "code": "missing_field",
    "message": "video_url is required",
    "param": "video_url"
  }
}

Response Fields

FieldTypeDescription
successbooleanWhether the request was successful
dataobjectBusiness data object
usageobjectCredits usage info (only returned when credits are consumed)
usage.credits_usedintegerCredits consumed by this request
usage.credits_remainingintegerRemaining credits
errorobjectError info object (only returned on failure)
error.typestringError type identifier
error.codestringError code
error.messagestringError description
error.paramstringRelated parameter name (optional)

Account

GET

Get Balance

Query current account credit balance and rate limit information.

Response

FieldDescription
data.credits_remainingRemaining credits
data.planCurrent plan
data.expires_atPlan expiration time
data.rate_limitsRate limit information
data.rate_limits.requests_per_minuteRequests per minute limit
data.rate_limits.queries_per_secondQueries per second limit
GET

Usage History

Query account credit usage history with date range filtering and cursor pagination.

Query Parameters

start_datestring

Start date (format: yyyy-MM-dd)

end_datestring

End date (format: yyyy-MM-dd)

cursorstring

Pagination cursor (from previous response's next_cursor)

limitinteger

Items per page (max 100, default 20)

Response

FieldDescription
data.recordsUsage records list
data.records[].task_idTask ID
data.records[].task_typeTask type
data.records[].credits_usedCredits consumed
data.records[].created_atCreated at (ISO 8601)
data.total_credits_usedTotal credits consumed
data.next_cursorNext page cursor
data.has_moreWhether more data exists
GET

Pricing

Query credit pricing for all task types.

Response

FieldDescription
data.pricingPricing list
data.pricing[].task_typeTask type
data.pricing[].credits_per_minuteCredits per minute
data.pricing[].descriptionDescription
data.pricing[].languageLanguage

Tasks

GET

Get Task

Query task details by task ID, including processing status and result files.

Path Parameters

task_idstringREQUIRED

Task ID

Response

FieldDescription
data.task_idTask ID
data.task_typeTask type
data.statusTask status (pending / processing / completed / failed)
data.progressProcessing progress (0-100)
data.nameTask name
data.source_languageSource language
data.target_languageTarget language
data.outputOutput file information
data.output.video_urlResult video URL
data.output.subtitle_urlSubtitle file URL
data.output.audio_urlAudio file URL
data.output.expires_atURL expiration time (ISO 8601)
data.credits_usedCredits consumed
data.created_atCreated at (ISO 8601)
data.completed_atCompleted at (ISO 8601)
data.error_messageError message (only on failure)
GET

List Tasks

Query task list with status and type filtering, using cursor pagination.

Query Parameters

statusstring

Filter by status (pending / processing / completed / failed)

task_typestring

Filter by task type

cursorstring

Pagination cursor

limitinteger

Items per page (max 100, default 20)

Response

FieldDescription
data.tasksTask list
data.next_cursorNext page cursor
data.has_moreWhether more data exists

Videos

POST

Video Translation

Create a video translation task with multi-language support and dubbing.

Request Body

video_urlstringREQUIRED

Source video URL (HTTPS)

source_languagestringREQUIRED

Source language code

target_languagestringREQUIRED

Target language code

voice_idstring

Dubbing voice ID

namestring

Task name

callback_urlstring

Task completion callback URL

idempotency_keystring

Idempotency key (prevents duplicate submissions)

Response

FieldDescription
data.task_idTask ID
data.task_typeTask type
data.statusTask status
data.estimated_creditsEstimated credits consumption
POST

Smart Eraser

Create a subtitle/watermark removal task.

Request Body

video_urlstringREQUIRED

Source video URL (HTTPS)

namestring

Task name

normalized_regionsarray<object>

Erasure regions array (normalized 0-1 coordinates), each with x, y, width, height, type (1=watermark, 2=subtitle)

erasure_modestring

Erasure mode: auto / manual / protect

callback_urlstring

Task completion callback URL

idempotency_keystring

Idempotency key

Response

FieldDescription
data.task_idTask ID
data.task_typeTask type
data.statusTask status
data.estimated_creditsEstimated credits consumption
POST

Subtitle Translation

Create a subtitle translation task to extract speech and translate to subtitles.

Request Body

video_urlstringREQUIRED

Source video URL (HTTPS)

source_languagestringREQUIRED

Source language code

target_languagestringREQUIRED

Target language code

namestring

Task name

embed_subtitleboolean

Whether to embed subtitles into video (default: true)

callback_urlstring

Task completion callback URL

idempotency_keystring

Idempotency key

Response

FieldDescription
data.task_idTask ID
data.task_typeTask type
data.statusTask status
data.estimated_creditsEstimated credits consumption
POST

Face Swap

Create a face swap task to replace faces in video with a source image.

Request Body

video_urlstringREQUIRED

Source video URL (HTTPS)

image_urlstringREQUIRED

Target face image URL (HTTPS)

namestring

Task name

callback_urlstring

Task completion callback URL

idempotency_keystring

Idempotency key

Response

FieldDescription
data.task_idTask ID
data.task_typeTask type
data.statusTask status
data.estimated_creditsEstimated credits consumption
POST

Lip Sync

Create a lip sync task to synchronize lip movements with audio.

Request Body

video_urlstringREQUIRED

Source video URL (HTTPS)

audio_urlstringREQUIRED

Audio file URL (HTTPS)

namestring

Task name

callback_urlstring

Task completion callback URL

idempotency_keystring

Idempotency key

Response

FieldDescription
data.task_idTask ID
data.task_typeTask type
data.statusTask status
data.estimated_creditsEstimated credits consumption

Audio

POST

Voice Clone

Clone a voice from an audio sample. Synchronous API, returns voice ID.

Request Body

audio_urlstringREQUIRED

Audio file URL (HTTPS)

namestringREQUIRED

Voice name

Response

FieldDescription
data.voice_idVoice ID
data.nameVoice name
data.typeVoice type
POST

Text to Speech

Create a text-to-speech task, processed asynchronously.

Request Body

textstringREQUIRED

Text to convert

voice_idstringREQUIRED

Voice ID

languagestring

Language code

callback_urlstring

Task completion callback URL

idempotency_keystring

Idempotency key

Response

FieldDescription
data.task_idTask ID
data.task_typeTask type
data.statusTask status
data.estimated_creditsEstimated credits consumption

Voices

GET

List Voices

Query available voices with language and gender filtering.

Query Parameters

languagestring

Filter by language (e.g., zh-CN)

genderstring

Filter by gender (male / female)

Response

FieldDescription
data[].voice_idVoice ID
data[].nameVoice name
data[].languageLanguage
data[].genderGender
data[].accentAccent
data[].age_rangeAge range
data[].preview_urlPreview URL
data[].typeVoice type (system / cloned)

Files

POST

Get Upload URL

Get a pre-signed upload URL for direct file upload to object storage.

Request Body

file_namestringREQUIRED

File name

file_sizeintegerREQUIRED

File size in bytes

content_md5string

File MD5 (optional, for deduplication)

Response

FieldDescription
data.file_idFile ID
data.upload_urlPre-signed upload URL
data.upload_methodUpload method (PUT)
data.upload_headersRequired upload headers
data.expires_atUpload URL expiration time
data.urlFile download URL (returned immediately for duplicates)
POST

Confirm Upload

Confirm file upload completion and get download URL.

Request Body

file_idstringREQUIRED

File ID (from Get Upload URL response)

Response

FieldDescription
data.file_idFile ID
data.urlFile download URL
data.expires_atURL expiration time (ISO 8601)
POST

Refresh URL

Refresh file download URL (use when URL has expired).

Request Body

file_idstringREQUIRED

File ID

Response

FieldDescription
data.file_idFile ID
data.urlNew file download URL
data.expires_atURL expiration time (ISO 8601)

Error Types

TypeHTTP StatusDescription
authentication_error401API Key missing, invalid, or disabled
validation_error400Invalid parameters, missing fields, or URL validation failure
rate_limit_error429Rate limit exceeded
permission_error403HTTPS required or insufficient permissions
insufficient_credits402Insufficient credits
not_found404Resource not found
internal_error500Internal server error

Task Statuses

StatusDescription
pendingPending — Task submitted, waiting to be processed
processingProcessing — Task is being executed
completedCompleted — Task finished successfully
failedFailed — Task execution failed

Task Types

Task TypeDescription
video_translationVideo Translation
lip_syncLip Sync
smart_erasureSmart Eraser
subtitle_translationSubtitle Translation
face_swapFace Swap
voice_cloneVoice Clone
text_to_speechText to Speech

© 2026 Qavix Tech. All rights reserved.