Mutumbuluxi API

Hlanganisa Addavox localization eka maendlelo ya wena ya ntirho. Hlawula Video Dubbing API ku kuma ku vekiwa ka vhidiyo hi ku helela hi nkarhi, QA, swihloko leswitsongo, na mfikelelo lowu heleleke eka Muhleri ​​wa Ndzavisiso hi ku tirhisa swihlanganisi swa masalamusi. U nga ha tlhela u hlawula yin’wana na yin’wana ya ti-API ta vukorhokeri bya munhu hi xiyexe eka mintirho yin’wana, ku fana na ku hlamusela buku kumbe ku hundzuluxela na ku hlamusela buku hi ku hundza kan’we.

API Swilotlelo

API swilotlelo i swa akhawunti ya Addavox. Endla yin’we hi buti ya Start localizing laha henhla, kutani u tumbuluxa xilotlelo eka app — riqingho rin’wana na rin’wana ri hakela eka akhawunti yoleyo. Ku aka no ringeta ku hlanganisiwa ku sungula, kombela xilotlelo xa sandbox eka app.

Vukorhokeri bya munhu hi xiyexe API byi hakeriwa ku suka eka mali leyi saleke ya wena ya xikweleti, leyi u yi tataka no yi lawula eka akhawunti ya wena Addavox . Ku vekiwa ka vhidiyo loku heleleke ka ndhawu i xihlawuhlawu: yi tirhisa nxavo lowu fanaka na pulani leyi u yi hlawulaka eka Tipulani & Minxavo — timinete leti katsiweke ta pulani ya wena, kutani ku tlula mpimo hi mpimo wa pulani.

Ku kunguhata ku hlanganisiwa? Bukula riqingho ro hlanganisa (yi pfula eka thebhu leyintshwa)

URL ya xisekelo: https://api.addavox.com/api/v1

Nhlokomhaka ya Auth: X- API -Xilotlelo: XITLHOKOVETSELO_XA WENA

API Xikombo

Xikimi xa vuhlanganisi lexi heleleke na makumu yo engetela ya kumeka hi ku tirhisa OpenAPI.

Full Video Localization

POST /api/v1/localize-video API key

Video Dubbing

Full video dubbing: send a video URL + target languages, get localized videos back.

Request body

FieldTypeRequiredDescription
video_urlstringYesHTTPS URL of the source video to dub.
target_languagesstring[]YesOne or more target language codes.
source_languagestringYesLanguage of the source video's spoken audio, e.g. 'en'.
project_namestring | nullNoOptional project name. Defaults to 'API Video: {filename}'.
enable_llm_qabooleanNoOpt-in LLM quality-review pass over translations before voice synthesis. Adds processing time.
modeLocalizationModeNoDrives consent. Default 'voice_matched' (voice matching: each speaker's tone and emotion carried into the target language); 'standard' uses preset synthetic voices.
consentConsentAttestationYesConsent attestation; see Consent & Authorization.

Response

FieldTypeDescription
job_idstringMaster job ID — poll for per-language status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
target_languagesstring[]Echoed target language codes.
ConsentAttestation
speaker_consent_obtainedboolean | nullAttests that explicit consent has been obtained from all identifiable speakers. Required for voice_matched mode only.
content_rights_confirmedbooleanAttests ownership or a valid license to the content. Required in both modes.
eula_acceptedbooleanConfirms the client has read and accepts the Addavox EULA. Required in both modes.
attested_bystringEmail or identifier of the responsible individual or system.
attested_atstringISO 8601 timestamp of attestation. Must be within 24 hours of the request.

API Services

POST /api/v1/separate API key

Voice Separation

Split caller-supplied audio into vocals + background stems (async job).

Request body

FieldTypeRequiredDescription
audio_urlstringYesHTTPS URL of the source audio to separate.
project_namestring | nullNoOptional project name.

Response

FieldTypeDescription
job_idstringPoll this job ID for status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
chargeChargeInfoBilling detail for this submission.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.
POST /api/v1/transcribe API key

Transcribe

Transcribe caller-supplied audio and return a transcript (async job).

Request body

FieldTypeRequiredDescription
audio_urlstringYesHTTPS URL of the source audio to transcribe.
languagestringYesSpoken language of the audio (BCP-47), e.g. 'en-US'.
project_namestring | nullNoOptional project name.

Response

FieldTypeDescription
job_idstringPoll this job ID for status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
chargeChargeInfoBilling detail for this submission.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.
POST /api/v1/pro-transcribe API key

Pro Transcription

Separate, then transcribe the isolated vocals stem — a cleaner transcript (async job).

Request body

FieldTypeRequiredDescription
audio_urlstringYesHTTPS URL of the source audio to transcribe.
languagestringYesSpoken language of the audio (BCP-47), e.g. 'en-US'.
project_namestring | nullNoOptional project name.

Response

FieldTypeDescription
job_idstringPoll this job ID for status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
chargeChargeInfoBilling detail for this submission.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.
POST /api/v1/translate API key

Translate

Machine-translate text from one language to another. Returns the translated text synchronously — no audio, no job to poll.

Request body

FieldTypeRequiredDescription
textstringYesText to translate.
target_languagestringYesTarget language code, e.g. 'es' or 'es-ES'.
source_languagestringYesSource language code, e.g. 'en' or 'en-US'.

Response

FieldTypeDescription
translated_textstringThe translated text.
source_languagestringSource language supplied on the request.
target_languagestringTarget language the text was translated into.
chargeChargeInfoBilling detail for this translation.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.

Example

curl -X POST https://api.addavox.com/api/v1/translate \
      -H "X-API-Key: $ADDAVOX_KEY" -H "Content-Type: application/json" \
      -d '{"text": "Hello", "target_language": "es"}'
POST /api/v1/narrate API key

Narrate

Narrate already-translated text into an audiobook, in a preset voice you choose. Preset (synth) voices only — no voice matching.

Request body

FieldTypeRequiredDescription
audio_urlstringYesHTTPS URL of the source audio; also used to identify/match speaker voices.
source_languagestringYesSource language code, e.g. 'en-US'.
target_languagestringYesTarget language code, e.g. 'es-ES'.
segmentsExternalSegment[]YesThe pre-segmented transcript to voice.
project_namestring | nullNoOptional project name. Defaults to 'API: {source}->{target}'.
consentConsentAttestationYesConsent attestation; see Consent & Authorization.

Response

FieldTypeDescription
job_idstringPoll this job ID for status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
voice_typestringVoice type resolved from the request mode.
total_segmentsintegerEchoed count of submitted segments.
chargeChargeInfoBilling detail for this submission.
ExternalSegment
source_textstringOriginal text for this segment.
start_timenumberSegment start, in seconds. Used for speaker-voice matching only, not output timing.
end_timenumberSegment end, in seconds. Used for speaker-voice matching only, not output timing.
wordsobject[]Word-level timing; defaults to empty.
speakerobject | nullSpeaker metadata for voice selection.
translated_textstring | nullPre-supplied translation. If provided, translation is skipped for this segment.
ConsentAttestation
speaker_consent_obtainedboolean | nullAttests that explicit consent has been obtained from all identifiable speakers. Required for voice_matched mode only.
content_rights_confirmedbooleanAttests ownership or a valid license to the content. Required in both modes.
eula_acceptedbooleanConfirms the client has read and accepts the Addavox EULA. Required in both modes.
attested_bystringEmail or identifier of the responsible individual or system.
attested_atstringISO 8601 timestamp of attestation. Must be within 24 hours of the request.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.
POST /api/v1/translate-narrate API key

Translate + Narrate — preset voice

Translate your text to the target language and narrate it in a preset voice. Source and target language must differ.

Request body

FieldTypeRequiredDescription
audio_urlstringYesHTTPS URL of the source audio; also used to identify/match speaker voices.
source_languagestringYesSource language code, e.g. 'en-US'.
target_languagestringYesTarget language code, e.g. 'es-ES'.
segmentsExternalSegment[]YesThe pre-segmented transcript to voice.
project_namestring | nullNoOptional project name. Defaults to 'API: {source}->{target}'.
consentConsentAttestationYesConsent attestation; see Consent & Authorization.

Response

FieldTypeDescription
job_idstringPoll this job ID for status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
voice_typestringVoice type resolved from the request mode.
total_segmentsintegerEchoed count of submitted segments.
chargeChargeInfoBilling detail for this submission.
ExternalSegment
source_textstringOriginal text for this segment.
start_timenumberSegment start, in seconds. Used for speaker-voice matching only, not output timing.
end_timenumberSegment end, in seconds. Used for speaker-voice matching only, not output timing.
wordsobject[]Word-level timing; defaults to empty.
speakerobject | nullSpeaker metadata for voice selection.
translated_textstring | nullPre-supplied translation. If provided, translation is skipped for this segment.
ConsentAttestation
speaker_consent_obtainedboolean | nullAttests that explicit consent has been obtained from all identifiable speakers. Required for voice_matched mode only.
content_rights_confirmedbooleanAttests ownership or a valid license to the content. Required in both modes.
eula_acceptedbooleanConfirms the client has read and accepts the Addavox EULA. Required in both modes.
attested_bystringEmail or identifier of the responsible individual or system.
attested_atstringISO 8601 timestamp of attestation. Must be within 24 hours of the request.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.
POST /api/v1/translate-narrate-matched API key

Translate + Narrate — matched voice

Translate your text to the target language and narrate it in a voice matched from an audio sample you provide. There is no minimum length; samples of about 3–5 seconds or more work best. Source and target language must differ.

Request body

FieldTypeRequiredDescription
audio_urlstringYesHTTPS URL of the source audio; also used to identify/match speaker voices.
source_languagestringYesSource language code, e.g. 'en-US'.
target_languagestringYesTarget language code, e.g. 'es-ES'.
segmentsExternalSegment[]YesThe pre-segmented transcript to voice.
project_namestring | nullNoOptional project name. Defaults to 'API: {source}->{target}'.
consentConsentAttestationYesConsent attestation; see Consent & Authorization.

Response

FieldTypeDescription
job_idstringPoll this job ID for status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
voice_typestringVoice type resolved from the request mode.
total_segmentsintegerEchoed count of submitted segments.
chargeChargeInfoBilling detail for this submission.
ExternalSegment
source_textstringOriginal text for this segment.
start_timenumberSegment start, in seconds. Used for speaker-voice matching only, not output timing.
end_timenumberSegment end, in seconds. Used for speaker-voice matching only, not output timing.
wordsobject[]Word-level timing; defaults to empty.
speakerobject | nullSpeaker metadata for voice selection.
translated_textstring | nullPre-supplied translation. If provided, translation is skipped for this segment.
ConsentAttestation
speaker_consent_obtainedboolean | nullAttests that explicit consent has been obtained from all identifiable speakers. Required for voice_matched mode only.
content_rights_confirmedbooleanAttests ownership or a valid license to the content. Required in both modes.
eula_acceptedbooleanConfirms the client has read and accepts the Addavox EULA. Required in both modes.
attested_bystringEmail or identifier of the responsible individual or system.
attested_atstringISO 8601 timestamp of attestation. Must be within 24 hours of the request.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.

Jobs & Results

GET /api/v1/jobs/{job_id} API key

Job Status

Check the status of an external localization job.

Response

FieldTypeDescription
job_idstringEchoes the job ID from the URL.
typestringJob type: voice | translate_voice | transcribe_translate_voice | video_dub.
statusstringqueued | running | completed | failed. For a video_dub job this is a true aggregate of its per-language children, not a per-child value.
total_segmentsintegerTotal segment count. Always 0 on a video_dub master job.
completed_segmentsintegerCompleted segment count. Always 0 on a video_dub master job.
errorstring | nullFailure message when status is 'failed'.
GET /api/v1/jobs/{job_id}/result API key

Job Result

Get the download URL for a completed external localization job.

Response

FieldTypeDescription
transcript_urlstring | null(Transcription job) Signed URL of the transcript JSON.
vocals_urlstring | null(Separation job) Signed URL of the vocals stem.
background_urlstring | null(Separation job) Signed URL of the background stem.
download_urlstring | nullSigned URL (24h). Single voice track for an audio job, or a zip of all languages for a video dub.
durationnumber | null(Audio job) Duration in seconds.
file_sizeinteger | null(Audio job) File size in bytes.
project_idstring | null(Video dub) The project ID.
review_urlstring | null(Video dub) Web review URL for the project.
languagesVideoJobResultLanguage[] | null(Video dub) Per-language result URLs.
VideoJobResultLanguage
languagestringTarget language code for this result.
video_urlstring | nullSigned URL of the dubbed video (24h expiry).
audio_urlstring | nullSigned URL of the dubbed audio track (24h expiry).
subtitle_urlstring | nullSigned URL of the subtitle file (24h expiry).
DELETE /api/v1/jobs/{job_id} API key

Cancel Job

Cancel a queued or running job and refund the charge to the account balance.

Response

FieldTypeDescription
job_idstringEchoes the cancelled job ID.
statusstringAlways 'cancelled'.
refunded_amountnumberAmount refunded for the undelivered work, in USD.
GET /api/v1/jobs API key

List Jobs

List localization jobs for the authenticated account. Query params: status — filter by queued | running | completed | failed | cancelled limit — max results (default 20, max 100) offset — pagination offset (default 0)

Response

FieldTypeDescription
jobsJobListItem[]The page of jobs, newest first.
totalintegerTotal jobs matching the query, across all pages.
limitintegerPage size used.
offsetintegerPage offset used.
JobListItem
job_idstringJob ID.
project_idstringProject the job belongs to.
typestringJob type.
target_languagestring | nullTarget language code, if applicable.
statusstringqueued | running | completed | failed | cancelled.
total_segmentsintegerTotal segment count.
completed_segmentsintegerCompleted segment count.
errorstring | nullFailure message when the job failed.
created_atstring | nullISO 8601 creation time.
started_atstring | nullISO 8601 start time, if started.
completed_atstring | nullISO 8601 completion time, if finished.
chargeJobListCharge | nullCharge summary, present if the job was billed.
GET /api/v1/jobs/{job_id}/webhooks API key

Webhook Log

Return the webhook delivery log for a job (all attempts, newest first).

Response

FieldTypeDescription
job_idstringEchoes the job ID from the URL.
deliveriesWebhookDelivery[]All delivery attempts for the job, newest first.
WebhookDelivery
idstring | nullDelivery attempt ID.
eventstring | nullEvent type delivered, e.g. 'job.completed'.
attemptinteger | nullAttempt number for this event.
status_codeinteger | nullHTTP status returned by the endpoint, if any.
errorstring | nullDelivery error, if the attempt failed.
delivered_atstring | nullISO 8601 time of the attempt.
POST /api/v1/jobs/{job_id}/webhooks/retry API key

Retry Webhook

Re-trigger webhook delivery for the most recent event on a job.

Response

FieldTypeDescription
statusstringAlways 'queued' — the event was re-queued for delivery.
eventstringThe event type that was re-queued.

Account & Reference

GET /api/v1/account API key

Account

Return credit balance and current plan for the authenticated account.

Response

FieldTypeDescription
account_idstringThe account's ID.
credit_balancenumberPrepaid credit balance, in USD.
plan_idstringCurrent plan ID, e.g. 'free', 'creator'.
plan_namestringHuman-readable plan name.
included_minutesintegerLocalization minutes included in the plan per period.
minutes_usednumberIncluded minutes used this period.
minutes_remainingnumberIncluded minutes remaining this period.
overage_ratenumberPer-minute overage rate once included minutes are exhausted, in USD.
billing_intervalstring | null'monthly' or 'annual'; null on the free plan.
subscription_statusstringSubscription status, e.g. 'active', 'past_due', 'free'.
GET /api/v1/voices API key

List Voices

Return available voices for a given language code. Query params: language — BCP-47 code, e.g. 'en-US', 'es-ES' (required) gender — optional filter: MALE | FEMALE

GET /api/v1/languages API key

List Languages

Return supported languages. Query params: detail — if true, include provider metadata per language

POST /api/v1/projects/{project_id}/reviewers API key

Invite Reviewer

Invite a reviewer to a project (API endpoint).

Request body

FieldTypeRequiredDescription
namestringYesReviewer's display name, used in the invite email.
emailstringYesWhere the magic-link invite is sent.
languagestringYesTarget language code the reviewer will edit.

Response

FieldTypeDescription
idstringNew reviewer ID.
namestringEchoed from the request.
emailstringEchoed from the request.
tokenstringMagic-link token, embedded in the emailed URL. Expires 7 days from creation.
expires_atstring | nullCurrently always null — not populated by this call.

API Ntsengo wa Vukorhokeri

Vukorhokeri bya munhu hi xiyexe byi hakeriwa hi minete naswona a hi xiphemu xa pulani — u hakela ntsena leswi u swi fonelaka, hi ntsengo wun’we wa xiphepherhele ku nga ri na nhlawulo wa lembe na lembe. I ku vekiwa ka vhidiyo loku heleleke ntsena loku tirhisaka timinete leti katsiweke ta pulani. Vukorhokeri lebyi sekeriweke eka matsalwa byi mitara hi kwalomu ka 1,000 wa swihlawulekisi hi minete.

Vukorhokeri Leswi u swi rhumelaka → leswi u swi kumaka Mpimo
Ku Hambana ka Rito Audio → rito ro basa + ti track ta le ndzhaku $0.02/min
Ku tsariwa ka matsalwa (STT) . Audio → tsalwa ra tsalwa leri nga na swikombiso swa mapeletelo na nkarhi wa xiyimo xa rito $0.02/min
Pro Ku tsariwa ka matsalwa Audio → Voice Separation + Transcription (STT), swinene eka mpfumawulo lowu nga na huwa $0.05/min
Vuhundzuluxi Tsalwa → tsalwa leri hundzuluxeriweke $0.02/min
Hlamusela (TTS) . Tsalwa leri hundzuluxeriweke → mpfumawulo lowu hlamuseriweke hi rito leri vekiweke ka ha ri emahlweni leri u ri hlawulaka $0.03/min
Hundzuluxa + Hlamusela — rito leri vekiweke ka ha ri emahlweni Tsalwa → ri hundzuluxeriwe, ivi ri hlamuseriwa hi rito leri vekiweke ka ha ri emahlweni. Ririmi ra xihlovo na leri kongomisiweke swi fanele ku hambana. $0.06/min
Hundzuluxa + Hlamusela — rito leri fambelanaka Tsalwa + xikombiso xa rito (ku hava ku leha ka le hansi; 3–5 wa tisekoni kumbe ku tlula swi tirha kahle) → ri hundzuluxeriwe, kutani ri hlamuseriwa hi rito leri ringanisiweke. Ririmi ra xihlovo na leri kongomisiweke swi fanele ku hambana. $0.08/min

Ku vekiwa ka vhidiyo loku heleleke ka ndhawu i vukorhokeri byin’we API lebyi bohiweke eka pulani: byi tirhisa timinete leti katsiweke ta pulani ya wena, kutani ku tlula mpimo hi mpimo wa pulani. Vona tipulani na nxavo