> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dubformer.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List Project Videos

> Retrieve a list of all videos associated with a specific project

This endpoint returns a list of all videos that were added to the specified project.

## Path Parameters

<ParamField path="projectId" type="string" required>
  The unique identifier of the project.
</ParamField>

## Response

The response is a JSON array of video objects. Each object has the following fields:

<ResponseField name="id" type="string">
  Unique video identifier.
</ResponseField>

<ResponseField name="name" type="string">
  Name of the video.
</ResponseField>

<ResponseField name="status" type="string">
  Current status of the video (e.g., `new`, `in_progress`, `completed`).
</ResponseField>

<ResponseField name="processingType" type="string">
  Type of video processing (e.g., `dubbing`, `voiceover`, `audio_description`, `transcription`, `translation`, `subtitling`).
</ResponseField>

<ResponseField name="srcLang" type="string">
  Source language code.
</ResponseField>

<ResponseField name="dstLangs" type="array">
  Array of target language codes.
</ResponseField>

<ResponseField name="videoUrl" type="string">
  URL to the video resource.
</ResponseField>

<ResponseField name="videoDuration" type="number">
  Duration of the video in seconds (if available).
</ResponseField>

<ResponseField name="remark" type="string">
  Additional remarks about the video (if any).
</ResponseField>

<ResponseField name="stringVariables" type="array | null">
  Array of key-value pairs containing video metadata, if provided.
</ResponseField>

<ResponseField name="createdAt" type="string">
  ISO timestamp of creation.
</ResponseField>

<ResponseField name="updatedAt" type="string">
  ISO timestamp of last update.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET \
    https://studio.dubformer.ai/api/v1/projects/5f83a14b2ec1b8a1234567890/videos \
    -H 'Authorization: Bearer YOUR_API_KEY'
  ```

  ```typescript TypeScript theme={null}
  import axios from 'axios';

  const response = await axios.get(
    'https://studio.dubformer.ai/api/v1/projects/5f83a14b2ec1b8a1234567890/videos',
    {
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY'
      }
    }
  );

  console.log(response.data);
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  [
    {
      "id": "7a92c36d4fe3c8b1234567891",
      "name": "marketing_video_1.mp4",
      "status": "completed",
      "processingType": "dubbing",
      "srcLang": "en",
      "dstLangs": ["es-ES", "fr-FR"],
      "videoUrl": "https://studio.dubformer.ai/api/v1/projects/5f83a14b2ec1b8a1234567890/videos/7a92c36d4fe3c8b1234567891",
      "videoDuration": 123.45,
      "remark": "Some remark",
      "stringVariables": [
        { "key": "storyTitleId", "value": "12345" }
      ],
      "createdAt": "2023-12-01T10:30:00.000Z",
      "updatedAt": "2023-12-01T15:45:00.000Z"
    },
    {
      "id": "8b03d47e5gf4d9c1234567892",
      "name": "training_video_2.mp4",
      "status": "in_progress",
      "processingType": "voiceover",
      "srcLang": "en",
      "dstLangs": ["es-ES"],
      "videoUrl": "https://studio.dubformer.ai/api/v1/projects/5f83a14b2ec1b8a1234567890/videos/8b03d47e5gf4d9c1234567892",
      "videoDuration": 98.7,
      "remark": null,
      "stringVariables": null,
      "createdAt": "2023-12-01T11:00:00.000Z",
      "updatedAt": "2023-12-01T14:20:00.000Z"
    }
  ]
  ```
</ResponseExample>

<ResponseExample>
  ```json Error Response theme={null}
  {
    "error": "Not Found"
  }
  ```
</ResponseExample>
