Kaiwhakawhanake API
Whakauruhia te whakarōpūtanga Addavox ki roto i tō rerenga mahi. Kōwhiria te Whakakapinga Ataata API mō te whakarōpūtanga ataata katoa me te wā, te Whakataurite, ngā hauraro, me te urunga katoa ki te Etita Arotake mā roto i ngā hononga makutu. Ka taea hoki e koe te whiriwhiri i tētahi o ngā API ratonga takitahi mō ētahi atu mahi, pērā i te kōrero i tētahi pukapuka, te whakamāori me te kōrero i tētahi pukapuka i roto i te kotahi ara.
Ngā Kī API
Nō tētahi pūkete API ngā kī Addavox. Waihangahia tētahi mā te pātene Tīmata Tauwāhi i runga ake nei, kātahi ka whakaputa i tētahi kī i roto i te taupānga — ka utua ia waeatanga ki taua pūkete. Hei hanga me te whakamātautau i tētahi whakaurunga i te tuatahi, tonoa he kī pouaka onepu i roto i te taupānga.
Ka utua ngā ratonga takitahi API mai i tō toenga nama, ka tāpirihia e koe, ka whakahaerea hoki i roto i tō pūkete Addavox . Ko te ataata whakarārangi katoa te mea rerekē: ka whakamahia te utu ōrite ki te mahere i whiriwhiria e koe i roto i ngā Mahere me ngā Utu — kei roto i tō mahere ngā meneti, kātahi ka tāpirihia he ova i te utu mahere.
Kei te whakamahere koe i tētahi whakaurunga? Whakaritea he waea whakauru (ka tuwhera i tētahi ripa hou)
URL Tūāpapa:
https://api.addavox.com/api/v1
Pane Whakamana:
X- API -Kī: TŌ_KĪ
Whakaaetanga me te Whakamanatanga
Me whakauru he ahanoa whakaaetanga me he āpure aratau taumata-runga ki ngā tono katoa API . Mā ēnei ka hangaia he pūkete whakamana mō ia mahi e whakaū ana kei a koe ngā mana me ngā whakaaetanga a te kaikorero e tika ana.
Ko te āpure aratau te mea e whakatau ana i te whakahiato reo: "voice_matched" e whakamahi ana te Whakataurite Reo, e kawe ana i te reo me ngā kare ā-roto o ia kaikōrero ki te reo ūnga; "standard" e whakamahi ana i ngā reo hangai kua whakaritea. He rite te utu o ngā aratau e rua — he mea whakaae noa iho te kōwhiringa.
Aratau Reo-Whakaōrite — Me Whakaae Katoa
Aratau Paerewa — Ngā Mana Ihirangi Anake
Tohutoro Marae
| Mara | Momo | E hiahiatia ana | Whakaahuatanga |
|---|---|---|---|
| mode | string | Taumata-runga | voice_matched rānei standard |
| speaker_consent_obtained | boolean | reo_taurite anake | Whakaaetanga mārama mai i ngā kaikōrero e mōhiotia ana |
| content_rights_confirmed | boolean | Ngā aratau e rua | Te mana pupuri, te raihana whai mana rānei ki te ihirangi |
| eula_accepted | boolean | Ngā aratau e rua | Ka whakaaetia te Addavox EULA |
| attested_by | string | Ngā aratau e rua | Īmēra, tohu rānei o te rōpū kawenga |
| attested_at | ISO 8601 | Ngā aratau e rua | I roto i ngā haora 24 o te wā tono |
Ngā Waehere Hapa Whakaaetanga
| HTTP | Waehere | Āhua |
|---|---|---|
| 403 | CONSENT_MISSING | Kāore he ātete whakaaetanga |
| 403 | CONSENT_INCOMPLETE | Ngaro ana te attested_by, te attested_at rānei kāore i te tika |
| 403 | CONSENT_NOT_AFFIRMED | Kāore anō kia whakaūngia ngā mana, ngā EULA rānei |
| 403 | CONSENT_EXPIRED | kua whakamanahia_i roto i te 24 hāora neke atu |
| 403 | SPEAKER_CONSENT_REQUIRED | i tauritehia te reo me te kore whakaae a te kaikorero |
| 400 | INVALID_MODE | Uara aratau kore mana |
Tohutoro API
Kei te wātea te kaupapa taunekeneke katoa me ngā pito whakamutunga atu mā OpenAPI.
Full Video Localization
/api/v1/localize-video
API key
Video Dubbing
Full video dubbing: send a video URL + target languages, get localized videos back.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
video_url | string | Yes | HTTPS URL of the source video to dub. |
target_languages | string[] | Yes | One or more target language codes. |
source_language | string | Yes | Language of the source video's spoken audio, e.g. 'en'. |
project_name | string | null | No | Optional project name. Defaults to 'API Video: {filename}'. |
enable_llm_qa | boolean | No | Opt-in LLM quality-review pass over translations before voice synthesis. Adds processing time. |
mode | LocalizationMode | No | Drives consent. Default 'voice_matched' (voice matching: each speaker's tone and emotion carried into the target language); 'standard' uses preset synthetic voices. |
consent | ConsentAttestation | Yes | Consent attestation; see Consent & Authorization. |
Response
| Field | Type | Description |
|---|---|---|
job_id | string | Master job ID — poll for per-language status. |
project_id | string | The project created for this job. |
status | string | Always 'queued' on submit. |
target_languages | string[] | Echoed target language codes. |
ConsentAttestation
speaker_consent_obtained | boolean | null | Attests that explicit consent has been obtained from all identifiable speakers. Required for voice_matched mode only. |
content_rights_confirmed | boolean | Attests ownership or a valid license to the content. Required in both modes. |
eula_accepted | boolean | Confirms the client has read and accepts the Addavox EULA. Required in both modes. |
attested_by | string | Email or identifier of the responsible individual or system. |
attested_at | string | ISO 8601 timestamp of attestation. Must be within 24 hours of the request. |
API Services
/api/v1/separate
API key
Voice Separation
Split caller-supplied audio into vocals + background stems (async job).
Request body
| Field | Type | Required | Description |
|---|---|---|---|
audio_url | string | Yes | HTTPS URL of the source audio to separate. |
project_name | string | null | No | Optional project name. |
Response
| Field | Type | Description |
|---|---|---|
job_id | string | Poll this job ID for status. |
project_id | string | The project created for this job. |
status | string | Always 'queued' on submit. |
charge | ChargeInfo | Billing detail for this submission. |
ChargeInfo
amount | number | Total amount charged for this submission, in USD. |
rate_per_min | number | Per-minute rate applied. |
duration_min | number | Billed minutes (for text services, characters/1000). |
num_languages | integer | Number of target languages billed. |
credit_balance_after | number | Account credit balance after the charge, in USD. |
/api/v1/transcribe
API key
Transcribe
Transcribe caller-supplied audio and return a transcript (async job).
Request body
| Field | Type | Required | Description |
|---|---|---|---|
audio_url | string | Yes | HTTPS URL of the source audio to transcribe. |
language | string | Yes | Spoken language of the audio (BCP-47), e.g. 'en-US'. |
project_name | string | null | No | Optional project name. |
Response
| Field | Type | Description |
|---|---|---|
job_id | string | Poll this job ID for status. |
project_id | string | The project created for this job. |
status | string | Always 'queued' on submit. |
charge | ChargeInfo | Billing detail for this submission. |
ChargeInfo
amount | number | Total amount charged for this submission, in USD. |
rate_per_min | number | Per-minute rate applied. |
duration_min | number | Billed minutes (for text services, characters/1000). |
num_languages | integer | Number of target languages billed. |
credit_balance_after | number | Account credit balance after the charge, in USD. |
/api/v1/pro-transcribe
API key
Pro Transcription
Separate, then transcribe the isolated vocals stem — a cleaner transcript (async job).
Request body
| Field | Type | Required | Description |
|---|---|---|---|
audio_url | string | Yes | HTTPS URL of the source audio to transcribe. |
language | string | Yes | Spoken language of the audio (BCP-47), e.g. 'en-US'. |
project_name | string | null | No | Optional project name. |
Response
| Field | Type | Description |
|---|---|---|
job_id | string | Poll this job ID for status. |
project_id | string | The project created for this job. |
status | string | Always 'queued' on submit. |
charge | ChargeInfo | Billing detail for this submission. |
ChargeInfo
amount | number | Total amount charged for this submission, in USD. |
rate_per_min | number | Per-minute rate applied. |
duration_min | number | Billed minutes (for text services, characters/1000). |
num_languages | integer | Number of target languages billed. |
credit_balance_after | number | Account credit balance after the charge, in USD. |
/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
| Field | Type | Required | Description |
|---|---|---|---|
text | string | Yes | Text to translate. |
target_language | string | Yes | Target language code, e.g. 'es' or 'es-ES'. |
source_language | string | Yes | Source language code, e.g. 'en' or 'en-US'. |
Response
| Field | Type | Description |
|---|---|---|
translated_text | string | The translated text. |
source_language | string | Source language supplied on the request. |
target_language | string | Target language the text was translated into. |
charge | ChargeInfo | Billing detail for this translation. |
ChargeInfo
amount | number | Total amount charged for this submission, in USD. |
rate_per_min | number | Per-minute rate applied. |
duration_min | number | Billed minutes (for text services, characters/1000). |
num_languages | integer | Number of target languages billed. |
credit_balance_after | number | Account 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"}'
/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
| Field | Type | Required | Description |
|---|---|---|---|
audio_url | string | Yes | HTTPS URL of the source audio; also used to identify/match speaker voices. |
source_language | string | Yes | Source language code, e.g. 'en-US'. |
target_language | string | Yes | Target language code, e.g. 'es-ES'. |
segments | ExternalSegment[] | Yes | The pre-segmented transcript to voice. |
project_name | string | null | No | Optional project name. Defaults to 'API: {source}->{target}'. |
consent | ConsentAttestation | Yes | Consent attestation; see Consent & Authorization. |
Response
| Field | Type | Description |
|---|---|---|
job_id | string | Poll this job ID for status. |
project_id | string | The project created for this job. |
status | string | Always 'queued' on submit. |
voice_type | string | Voice type resolved from the request mode. |
total_segments | integer | Echoed count of submitted segments. |
charge | ChargeInfo | Billing detail for this submission. |
ExternalSegment
source_text | string | Original text for this segment. |
start_time | number | Segment start, in seconds. Used for speaker-voice matching only, not output timing. |
end_time | number | Segment end, in seconds. Used for speaker-voice matching only, not output timing. |
words | object[] | Word-level timing; defaults to empty. |
speaker | object | null | Speaker metadata for voice selection. |
translated_text | string | null | Pre-supplied translation. If provided, translation is skipped for this segment. |
ConsentAttestation
speaker_consent_obtained | boolean | null | Attests that explicit consent has been obtained from all identifiable speakers. Required for voice_matched mode only. |
content_rights_confirmed | boolean | Attests ownership or a valid license to the content. Required in both modes. |
eula_accepted | boolean | Confirms the client has read and accepts the Addavox EULA. Required in both modes. |
attested_by | string | Email or identifier of the responsible individual or system. |
attested_at | string | ISO 8601 timestamp of attestation. Must be within 24 hours of the request. |
ChargeInfo
amount | number | Total amount charged for this submission, in USD. |
rate_per_min | number | Per-minute rate applied. |
duration_min | number | Billed minutes (for text services, characters/1000). |
num_languages | integer | Number of target languages billed. |
credit_balance_after | number | Account credit balance after the charge, in USD. |
/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
| Field | Type | Required | Description |
|---|---|---|---|
audio_url | string | Yes | HTTPS URL of the source audio; also used to identify/match speaker voices. |
source_language | string | Yes | Source language code, e.g. 'en-US'. |
target_language | string | Yes | Target language code, e.g. 'es-ES'. |
segments | ExternalSegment[] | Yes | The pre-segmented transcript to voice. |
project_name | string | null | No | Optional project name. Defaults to 'API: {source}->{target}'. |
consent | ConsentAttestation | Yes | Consent attestation; see Consent & Authorization. |
Response
| Field | Type | Description |
|---|---|---|
job_id | string | Poll this job ID for status. |
project_id | string | The project created for this job. |
status | string | Always 'queued' on submit. |
voice_type | string | Voice type resolved from the request mode. |
total_segments | integer | Echoed count of submitted segments. |
charge | ChargeInfo | Billing detail for this submission. |
ExternalSegment
source_text | string | Original text for this segment. |
start_time | number | Segment start, in seconds. Used for speaker-voice matching only, not output timing. |
end_time | number | Segment end, in seconds. Used for speaker-voice matching only, not output timing. |
words | object[] | Word-level timing; defaults to empty. |
speaker | object | null | Speaker metadata for voice selection. |
translated_text | string | null | Pre-supplied translation. If provided, translation is skipped for this segment. |
ConsentAttestation
speaker_consent_obtained | boolean | null | Attests that explicit consent has been obtained from all identifiable speakers. Required for voice_matched mode only. |
content_rights_confirmed | boolean | Attests ownership or a valid license to the content. Required in both modes. |
eula_accepted | boolean | Confirms the client has read and accepts the Addavox EULA. Required in both modes. |
attested_by | string | Email or identifier of the responsible individual or system. |
attested_at | string | ISO 8601 timestamp of attestation. Must be within 24 hours of the request. |
ChargeInfo
amount | number | Total amount charged for this submission, in USD. |
rate_per_min | number | Per-minute rate applied. |
duration_min | number | Billed minutes (for text services, characters/1000). |
num_languages | integer | Number of target languages billed. |
credit_balance_after | number | Account credit balance after the charge, in USD. |
/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
| Field | Type | Required | Description |
|---|---|---|---|
audio_url | string | Yes | HTTPS URL of the source audio; also used to identify/match speaker voices. |
source_language | string | Yes | Source language code, e.g. 'en-US'. |
target_language | string | Yes | Target language code, e.g. 'es-ES'. |
segments | ExternalSegment[] | Yes | The pre-segmented transcript to voice. |
project_name | string | null | No | Optional project name. Defaults to 'API: {source}->{target}'. |
consent | ConsentAttestation | Yes | Consent attestation; see Consent & Authorization. |
Response
| Field | Type | Description |
|---|---|---|
job_id | string | Poll this job ID for status. |
project_id | string | The project created for this job. |
status | string | Always 'queued' on submit. |
voice_type | string | Voice type resolved from the request mode. |
total_segments | integer | Echoed count of submitted segments. |
charge | ChargeInfo | Billing detail for this submission. |
ExternalSegment
source_text | string | Original text for this segment. |
start_time | number | Segment start, in seconds. Used for speaker-voice matching only, not output timing. |
end_time | number | Segment end, in seconds. Used for speaker-voice matching only, not output timing. |
words | object[] | Word-level timing; defaults to empty. |
speaker | object | null | Speaker metadata for voice selection. |
translated_text | string | null | Pre-supplied translation. If provided, translation is skipped for this segment. |
ConsentAttestation
speaker_consent_obtained | boolean | null | Attests that explicit consent has been obtained from all identifiable speakers. Required for voice_matched mode only. |
content_rights_confirmed | boolean | Attests ownership or a valid license to the content. Required in both modes. |
eula_accepted | boolean | Confirms the client has read and accepts the Addavox EULA. Required in both modes. |
attested_by | string | Email or identifier of the responsible individual or system. |
attested_at | string | ISO 8601 timestamp of attestation. Must be within 24 hours of the request. |
ChargeInfo
amount | number | Total amount charged for this submission, in USD. |
rate_per_min | number | Per-minute rate applied. |
duration_min | number | Billed minutes (for text services, characters/1000). |
num_languages | integer | Number of target languages billed. |
credit_balance_after | number | Account credit balance after the charge, in USD. |
Jobs & Results
/api/v1/jobs/{job_id}
API key
Job Status
Check the status of an external localization job.
Response
| Field | Type | Description |
|---|---|---|
job_id | string | Echoes the job ID from the URL. |
type | string | Job type: voice | translate_voice | transcribe_translate_voice | video_dub. |
status | string | queued | running | completed | failed. For a video_dub job this is a true aggregate of its per-language children, not a per-child value. |
total_segments | integer | Total segment count. Always 0 on a video_dub master job. |
completed_segments | integer | Completed segment count. Always 0 on a video_dub master job. |
error | string | null | Failure message when status is 'failed'. |
/api/v1/jobs/{job_id}/result
API key
Job Result
Get the download URL for a completed external localization job.
Response
| Field | Type | Description |
|---|---|---|
transcript_url | string | null | (Transcription job) Signed URL of the transcript JSON. |
vocals_url | string | null | (Separation job) Signed URL of the vocals stem. |
background_url | string | null | (Separation job) Signed URL of the background stem. |
download_url | string | null | Signed URL (24h). Single voice track for an audio job, or a zip of all languages for a video dub. |
duration | number | null | (Audio job) Duration in seconds. |
file_size | integer | null | (Audio job) File size in bytes. |
project_id | string | null | (Video dub) The project ID. |
review_url | string | null | (Video dub) Web review URL for the project. |
languages | VideoJobResultLanguage[] | null | (Video dub) Per-language result URLs. |
VideoJobResultLanguage
language | string | Target language code for this result. |
video_url | string | null | Signed URL of the dubbed video (24h expiry). |
audio_url | string | null | Signed URL of the dubbed audio track (24h expiry). |
subtitle_url | string | null | Signed URL of the subtitle file (24h expiry). |
/api/v1/jobs/{job_id}
API key
Cancel Job
Cancel a queued or running job and refund the charge to the account balance.
Response
| Field | Type | Description |
|---|---|---|
job_id | string | Echoes the cancelled job ID. |
status | string | Always 'cancelled'. |
refunded_amount | number | Amount refunded for the undelivered work, in USD. |
/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
| Field | Type | Description |
|---|---|---|
jobs | JobListItem[] | The page of jobs, newest first. |
total | integer | Total jobs matching the query, across all pages. |
limit | integer | Page size used. |
offset | integer | Page offset used. |
JobListItem
job_id | string | Job ID. |
project_id | string | Project the job belongs to. |
type | string | Job type. |
target_language | string | null | Target language code, if applicable. |
status | string | queued | running | completed | failed | cancelled. |
total_segments | integer | Total segment count. |
completed_segments | integer | Completed segment count. |
error | string | null | Failure message when the job failed. |
created_at | string | null | ISO 8601 creation time. |
started_at | string | null | ISO 8601 start time, if started. |
completed_at | string | null | ISO 8601 completion time, if finished. |
charge | JobListCharge | null | Charge summary, present if the job was billed. |
/api/v1/jobs/{job_id}/webhooks
API key
Webhook Log
Return the webhook delivery log for a job (all attempts, newest first).
Response
| Field | Type | Description |
|---|---|---|
job_id | string | Echoes the job ID from the URL. |
deliveries | WebhookDelivery[] | All delivery attempts for the job, newest first. |
WebhookDelivery
id | string | null | Delivery attempt ID. |
event | string | null | Event type delivered, e.g. 'job.completed'. |
attempt | integer | null | Attempt number for this event. |
status_code | integer | null | HTTP status returned by the endpoint, if any. |
error | string | null | Delivery error, if the attempt failed. |
delivered_at | string | null | ISO 8601 time of the attempt. |
/api/v1/jobs/{job_id}/webhooks/retry
API key
Retry Webhook
Re-trigger webhook delivery for the most recent event on a job.
Response
| Field | Type | Description |
|---|---|---|
status | string | Always 'queued' — the event was re-queued for delivery. |
event | string | The event type that was re-queued. |
Account & Reference
/api/v1/account
API key
Account
Return credit balance and current plan for the authenticated account.
Response
| Field | Type | Description |
|---|---|---|
account_id | string | The account's ID. |
credit_balance | number | Prepaid credit balance, in USD. |
plan_id | string | Current plan ID, e.g. 'free', 'creator'. |
plan_name | string | Human-readable plan name. |
included_minutes | integer | Localization minutes included in the plan per period. |
minutes_used | number | Included minutes used this period. |
minutes_remaining | number | Included minutes remaining this period. |
overage_rate | number | Per-minute overage rate once included minutes are exhausted, in USD. |
billing_interval | string | null | 'monthly' or 'annual'; null on the free plan. |
subscription_status | string | Subscription status, e.g. 'active', 'past_due', 'free'. |
/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
/api/v1/languages
API key
List Languages
Return supported languages. Query params: detail — if true, include provider metadata per language
/api/v1/projects/{project_id}/reviewers
API key
Invite Reviewer
Invite a reviewer to a project (API endpoint).
Request body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Reviewer's display name, used in the invite email. |
email | string | Yes | Where the magic-link invite is sent. |
language | string | Yes | Target language code the reviewer will edit. |
Response
| Field | Type | Description |
|---|---|---|
id | string | New reviewer ID. |
name | string | Echoed from the request. |
email | string | Echoed from the request. |
token | string | Magic-link token, embedded in the emailed URL. Expires 7 days from creation. |
expires_at | string | null | Currently always null — not populated by this call. |
Utu Ratonga API
Ka utua ngā ratonga takitahi mō ia meneti, kāore hoki i roto i tētahi mahere — ka utua noa e koe te mea e waea atu ana koe, i te utu kotahi, kāore he hekenga ā-tau. Ko te whakarārangi ataata katoa anake ka whakamahia i runga i ngā meneti kua whakaurua ki roto i te mahere. Ko te ine a ngā ratonga tuhinga-tuhituhi he tata ki te 1,000 ngā pūāhua mō ia meneti.
| Ratonga | Ngā mea ka tukuna e koe → ngā mea ka riro i a koe | Whakatau |
|---|---|---|
| Wehenga Reo | Ororongo → reo ma + ara papamuri | $0.02/min |
| Te Whakamāoritanga (STT) | Ororongo → tuhinga tuhinga me ngā tohutō me te wā taumata-kupu | $0.02/min |
| Pro Whakamāoritanga | Ororongo → Wehenga Reo + Whakawhiti (STT), pai rawa atu mō te oro haruru | $0.05/min |
| Whakamāoritanga | Kuputuhi → tuhinga kua whakamāoritia | $0.02/min |
| Kōrero (TTS) | Kuputuhi kua whakamāoritia → ororongo kua kōrerotia i roto i te reo kua whakaritea i whiriwhiria e koe | $0.03/min |
| Whakamāori + Kōrero — reo kua whakaritea | Kuputuhi → whakamāoritia, kātahi ka kōrerotia i roto i te reo kua whakaritea. Me rerekē te reo pūtake me te reo ūnga. | $0.06/min |
| Whakamāori + Kōrero — reo ōrite | Kuputuhi + tauira reo (kāore he roa iti rawa; 3–5 hēkona, neke atu rānei te pai) → whakamāoritia, kātahi ka kōrerotia i te reo ōrite. Me rerekē te reo pūtake me te reo ūnga. | $0.08/min |
Ko te whakarōpūtanga ataata katoa te ratonga API e herea ana ki tētahi mahere: ka whakamahia ngā meneti kua whakaurua ki roto i tō mahere, kātahi ka tāpirihia he utu nui i te utu mahere. Tirohia ngā mahere me ngā utu