Skip to content
DashboardGet API Key

List video translation requests

video_translate.requests.list(RequestListParams**kwargs) -> RequestListResponse
GET/v1/video-translate/requests

Returns the authenticated account’s requests, newest first (created_at descending, then id descending), always paginated. pagination.total counts every request matching the filters. Responses use the same shape as GET /v1/video-translate/requests/{id}.

ParametersExpand Collapse
created_from: Optional[Union[str, datetime]]

Inclusive lower bound on created_at (RFC 3339). Must not be after created_to.

formatdate-time
created_to: Optional[Union[str, datetime]]

Inclusive upper bound on created_at (RFC 3339).

formatdate-time
limit: Optional[int]

Page size. Non-integers and values below 1 are rejected with 400; values above 100 are clamped to 100.

minimum1
maximum100
offset: Optional[int]

Number of items to skip. Non-integers and negative values are rejected with 400.

minimum0
reference_id: Optional[str]

Filter requests by exact reference_id.

source_language: Optional[str]

Filter by the explicit or detected source language (supported language code).

status: Optional[Literal["queued", "uploading", "processing", 2 more]]

Filter by request status.

One of the following:
"queued"
"uploading"
"processing"
"completed"
"failed"
target_language: Optional[str]

Return requests whose target_languages contain this supported language code.

ReturnsExpand Collapse
class RequestListResponse: …
data: List[Data]
id: str
formatuuid
config: DataConfig

The request config as returned by the API. SRT content is replaced by metadata, speaker_voices keys are canonical speaker IDs, and other keys are returned unchanged.

source_srt: Optional[DataConfigSourceSrt]

Public description of a supplied SRT. The subtitle content is never returned.

supplied: Literal[true]
file_name: Optional[str]
language: Optional[str]
speaker_voices: Optional[Dict[str, str]]
target_srts: Optional[Dict[str, DataConfigTargetSrts]]
supplied: Literal[true]
file_name: Optional[str]
language: Optional[str]
tts_model: Optional[Literal["eleven_v4", "eleven_multilingual_v2"]]

The explicitly selected text-to-speech model. Omitted when the request used the default.

One of the following:
"eleven_v4"
"eleven_multilingual_v2"
created_at: datetime
formatdate-time
disable_background_audio: bool

Whether background audio was disabled for this request.

disable_lip_sync: bool

Whether lip sync was disabled for this request.

formality: bool
model: Literal["expressive", "classic"]

Product speech model selected for the request.

One of the following:
"expressive"
"classic"
status: Literal["queued", "uploading", "processing", 2 more]
One of the following:
"queued"
"uploading"
"processing"
"completed"
"failed"
target_languages: List[str]
error_message: Optional[str]

Present only when failed. A safe, bounded description, for example SRT or speaker validation errors found after the video was processed.

maxLength1001
finished_at: Optional[datetime]
formatdate-time
outputs: Optional[Dict[str, DataOutputs]]

Present only when completed, keyed by requested target language. URLs are signed on every read.

audio: str
formaturi
srt: str
formaturi
video: str
formaturi
reference_id: Optional[str]
source_language: Optional[str]

Explicit source language, or the detected one once processing starts.

started_at: Optional[datetime]
formatdate-time
webhook_url: Optional[str]

The configured terminal callback URL, when supplied.

formaturi

List video translation requests

import os
from chamelaion import Chamelaion

client = Chamelaion(
    bearer_token=os.environ.get("CHAMELAION_BEARER_TOKEN"),  # This is the default and can be omitted
)
requests = client.video_translate.requests.list()
print(requests.data)
{
  "data": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "config": {
        "source_srt": {
          "supplied": true,
          "file_name": "file_name",
          "language": "language"
        },
        "speaker_voices": {
          "foo": "string"
        },
        "target_srts": {
          "foo": {
            "supplied": true,
            "file_name": "file_name",
            "language": "language"
          }
        },
        "tts_model": "eleven_v4"
      },
      "created_at": "2019-12-27T18:11:19.117Z",
      "disable_background_audio": true,
      "disable_lip_sync": true,
      "formality": true,
      "model": "expressive",
      "status": "queued",
      "target_languages": [
        "string"
      ],
      "error_message": "error_message",
      "finished_at": "2019-12-27T18:11:19.117Z",
      "outputs": {
        "foo": {
          "audio": "https://example.com",
          "srt": "https://example.com",
          "video": "https://example.com"
        }
      },
      "reference_id": "reference_id",
      "source_language": "source_language",
      "started_at": "2019-12-27T18:11:19.117Z",
      "webhook_url": "https://example.com"
    }
  ],
  "pagination": {
    "limit": 1,
    "offset": 0,
    "total": 0
  }
}
{
  "error": "limit must be an integer between 1 and 100"
}
{
  "error": "status must be one of queued, uploading, processing, completed, failed"
}
{
  "error": "created_from must not be after created_to"
}
{
  "error": "missing authorization header"
}
{
  "error": "invalid authorization format"
}
{
  "error": "missing token"
}
{
  "error": "invalid token"
}
{
  "error": "unauthorized"
}
{
  "error": "rate limit exceeded"
}
{
  "error": "internal error"
}
Returns Examples
{
  "data": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "config": {
        "source_srt": {
          "supplied": true,
          "file_name": "file_name",
          "language": "language"
        },
        "speaker_voices": {
          "foo": "string"
        },
        "target_srts": {
          "foo": {
            "supplied": true,
            "file_name": "file_name",
            "language": "language"
          }
        },
        "tts_model": "eleven_v4"
      },
      "created_at": "2019-12-27T18:11:19.117Z",
      "disable_background_audio": true,
      "disable_lip_sync": true,
      "formality": true,
      "model": "expressive",
      "status": "queued",
      "target_languages": [
        "string"
      ],
      "error_message": "error_message",
      "finished_at": "2019-12-27T18:11:19.117Z",
      "outputs": {
        "foo": {
          "audio": "https://example.com",
          "srt": "https://example.com",
          "video": "https://example.com"
        }
      },
      "reference_id": "reference_id",
      "source_language": "source_language",
      "started_at": "2019-12-27T18:11:19.117Z",
      "webhook_url": "https://example.com"
    }
  ],
  "pagination": {
    "limit": 1,
    "offset": 0,
    "total": 0
  }
}
{
  "error": "limit must be an integer between 1 and 100"
}
{
  "error": "status must be one of queued, uploading, processing, completed, failed"
}
{
  "error": "created_from must not be after created_to"
}
{
  "error": "missing authorization header"
}
{
  "error": "invalid authorization format"
}
{
  "error": "missing token"
}
{
  "error": "invalid token"
}
{
  "error": "unauthorized"
}
{
  "error": "rate limit exceeded"
}
{
  "error": "internal error"
}