curl --location 'https://api.myvocal.ai/sound_clone/api/v1/interpretation/jobs/ij_...' \
--header 'accessKey: <your_api_key>'
{
"code": 1,
"message": "success",
"data": {
"jobId": "ij_...",
"projectId": "ip_...",
"targetId": "it_...",
"stage": "FETCH_AUDIO",
"state": "RUNNING",
"nextPollAfterMs": null,
"errorCode": null,
"billingState": "RESERVED",
"requestId": "..."
}
}
Interpretation
Get an interpretation job
Read the progress of one interpretation job, and the job list from the project detail.
GET
/
sound_clone
/
api
/
v1
/
interpretation
/
jobs
/
{jobId}
curl --location 'https://api.myvocal.ai/sound_clone/api/v1/interpretation/jobs/ij_...' \
--header 'accessKey: <your_api_key>'
{
"code": 1,
"message": "success",
"data": {
"jobId": "ij_...",
"projectId": "ip_...",
"targetId": "it_...",
"stage": "FETCH_AUDIO",
"state": "RUNNING",
"nextPollAfterMs": null,
"errorCode": null,
"billingState": "RESERVED",
"requestId": "..."
}
}
Header
string
required
API key for authentication.
Path
string
required
The job identifier. Jobs are also listed in
targets/jobs of the project detail.Response
string
Job identifier.
string
Owning project.
string | null
The target language this job belongs to, or
null for a project-level job.string
The internal pipeline stage, for example
PREPARE_PROJECT, CREATE_LANGUAGE, POLL_TARGET, FETCH_AUDIO, EXPORT_AUDIO, COMPOSE_VIDEO or SETTLE.string
QUEUED, RUNNING, RETRY, RECONCILING, READY, FAILED or RELEASED.string | null
Currently always
null: the service does not publish a suggested poll interval yet. Handle null and use your own bounded interval.string | null
Set when the job failed.
string
SETTLED, RESERVED, RELEASED or UNPRICED, derived from the reservation and the target state.curl --location 'https://api.myvocal.ai/sound_clone/api/v1/interpretation/jobs/ij_...' \
--header 'accessKey: <your_api_key>'
{
"code": 1,
"message": "success",
"data": {
"jobId": "ij_...",
"projectId": "ip_...",
"targetId": "it_...",
"stage": "FETCH_AUDIO",
"state": "RUNNING",
"nextPollAfterMs": null,
"errorCode": null,
"billingState": "RESERVED",
"requestId": "..."
}
}
RECONCILING means the outcome is still being determined. It is not a failure and not a release of the reservation. Only a real ledger RELEASED state may be described as released.Common errors
code = 47117: the job does not exist, or it exists but is not owned by your account. The API deliberately returns the same answer for both, so it never reveals whether a job id exists.
