Dɔwɔla API

Tsɔ Addavox teƒeteƒewo de wò dɔwɔwɔ me. Tia Video Dubbing API hena video ƒe teƒeteƒewo ƒe ɖoɖowɔwɔ blibo kple ɣeyiɣi, QA, tanyawo, kple mɔɖeɖe blibo ɖe Totoɖeme Nuŋlɔla ŋu to akunyawɔwɔ ƒe kadodowo dzi. Àte ŋu atia subɔsubɔ API ɖekaɖekaawo dometɔ ɖesiaɖe hã na dɔ bubuwo, abe agbalẽ aɖe ƒe ŋutinya gbɔgblɔ alo agbalẽ aɖe gɔmeɖeɖe kple eƒe ŋutinya gbɔgblɔ le ɣeyiɣi ɖeka me ene.

API Safuiwo

API safuiwo nye Addavox akɔnta tɔ. Wɔ ɖeka kple Start localizing button si le etame, emegbe nàwɔ safui aɖe le app la me — kaƒoƒo ɖesiaɖe xea fe ɖe akɔnta ma me. Be nàtu ɖekawɔwɔ aɖe ahadoe kpɔ gbã la, bia sandbox safui le dɔwɔnua me.

Woxea API dɔ ɖekaɖekawo tso wò gaxɔgbalẽvi ƒe ga si susɔ me, si nèdea gaxɔ me hekpɔa edzi le wò Addavox akɔnta me. Video ƒe teƒeteƒewo ƒe ɖoɖowɔwɔ bliboe nye esi to vovo: ezãa asixɔxɔ si sɔ kple ɖoɖo si nètia le Ðoɖowo & Asixɔxɔ me — wò ɖoɖoa ƒe miniti siwo le eme, emegbe wògbɔ eme le ɖoɖoa ƒe agbɔsɔsɔme nu.

Ðe nèle ɖoɖo wɔm ɖe ɖekawɔwɔ ŋua? Wɔ agbalẽ ɖe ƒoƒo ɖekae ƒe kaƒoƒo ŋu (aʋu le tab yeye aɖe me)

URL si wotu ɖe edzi: https://api.addavox.com/api/v1

Auth ƒe tanya: X- API -Safui: WÒ_SAFU

API Nufiame

Nuwɔwɔ aduadu ƒe ɖoɖo blibo kple nuwuƒe bubuwo li to OpenAPI dzi.

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 Subɔsubɔdɔ ƒe Asixɔxɔ

Woxea fe ɖe ame ɖekaɖekawo ƒe dɔwɔnawo ta le miniti ɖeka me eye womenye ɖoɖo aɖe ƒe akpa aɖeke o — nusi nèyɔ koe nèxena, le ga home ɖeka dzi eye womeɖea asi le eŋu ƒe sia ƒe o. Video bliboa ƒe teƒeteƒewo ƒe ɖoɖowɔwɔ koe xɔa ɖoɖowɔɖi aɖe ƒe miniti siwo le eme. Dɔwɔna siwo wotu ɖe nuŋɔŋlɔ dzi ladzidzea ŋɔŋlɔdzesi siwo ade 1,000 le miniti ɖeka me.

Dɔ Nusi nèɖona ɖa → nusi nèxɔna Asixᴐxᴐ
Gbe ƒe Mamã Odio → gbe dzadzɛ + megbenyawo $0.02/min
Nuŋɔŋlɔ (STT) . Odio → nuŋɔŋlɔ ƒe nuŋɔŋlɔ kple nuŋɔŋlɔmedzesiwo kple nyawo ƒe ɖoɖo $0.02/min
Pro Nuŋɔŋlɔ Odio → Gbe ƒe Mamã + Nuŋɔŋlɔ (STT), nyuitɔ kekeake na odio si me toɣliɖeɖe le $0.05/min
Gbegɔmeɖeɖe Nuŋɔŋlɔ → nuŋɔŋlɔ si gɔme woɖe $0.02/min
Gblɔ nya (TTS) . Nuŋɔŋlɔ si gɔme woɖe → odio si wogblɔ le gbe si nètia do ŋgɔ me $0.03/min
Gbegɔmeɖeɖe + Gblɔ — gbe si woɖo ɖi Nuŋɔŋlɔ → gɔmeɖeɖe, emegbe wogblɔe le gbe si woɖo ɖi me. Ele be gbegbɔgblɔ si me wotso kple gbe si ŋu wole nu ƒom tsoe nato vovo. $0.06/min
Gbegɔmeɖeɖe + Gblɔ — gbe si sɔ Nuŋɔŋlɔ + gbe ƒe kpɔɖeŋu (didime suetɔ kekeake aɖeke mele eme o; sɛkɛnd 3–5 alo esi wu nenema wɔa dɔ nyuie wu) → woɖe egɔme, emegbe wogblɔe le gbe si sɔ me. Ele be gbegbɔgblɔ si me wotso kple gbe si ŋu wole nu ƒom tsoe nato vovo. $0.08/min

Video ƒe teƒeteƒewo ƒe ɖoɖowɔwɔ bliboe nye API subɔsubɔdɔ ɖeka si wobla ɖe ɖoɖo aɖe ŋu: exɔa wò ɖoɖoa ƒe miniti siwo le eme, emegbe wògbɔa eme le ɖoɖoa ƒe agbɔsɔsɔme nu. Kpɔ ɖoɖowo kple asixɔxɔ si le wo ŋu