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

# プロジェクト詳細の取得

> 公開プロジェクトの詳細、翻訳バージョン履歴、およびリップシンク履歴を取得します

# プロジェクト詳細の取得

プロジェクトの正規化された公開ビューを取得します。翻訳バージョン履歴、リップシンク履歴、動的字幕の状態、または公開状態が必要な場合にこのエンドポイントを使用してください。

頻繁なポーリングには、引き続き [翻訳ステータスの取得](/docs/ja/api-reference/translation-status) を使用してください。このエンドポイントはより詳細な情報を返し、意図的に多くのデータを取得するように設計されています。

## リクエスト

### ヘッダー

<ParamField header="x-api-key" type="string" required>
  あなたの VoiceCheap APIキー。[app.voicecheap.ai/page-api](https://app.voicecheap.ai/page-api) から取得してください。
</ParamField>

### パスパラメータ

<ParamField path="projectId" type="string" required>
  [プロジェクト作成](/docs/ja/api-reference/create-project) または [翻訳開始](/docs/ja/api-reference/translate) から返されるプロジェクトの一意の識別子。
</ParamField>

## レスポンス

<ResponseField name="projectId" type="string" required>
  プロジェクトの一意の識別子。
</ResponseField>

<ResponseField name="projectName" type="string" required>
  プロジェクト名。
</ResponseField>

<ResponseField name="status" type="string" required>
  公開プロジェクトのステータス: `processing`、`success`、または `failed`。
</ResponseField>

<ResponseField name="workflow" type="string" required>
  APIワークフロー: `translation` または `transcription`。文字起こしワークフローは、ソースの文字起こしが完了すると成功します。
</ResponseField>

<ResponseField name="originalVideoUrl" type="string" required>
  アップロードされた元の動画または音声ファイルへのURL。
</ResponseField>

<ResponseField name="originalLanguage" type="string" required>
  検出または指定された元の言語。
</ResponseField>

<ResponseField name="targetLanguages" type="string[]" required>
  プロジェクトに関連付けられたターゲット言語。
</ResponseField>

<ResponseField name="duration" type="number" required>
  コンテンツの長さ（秒単位）。
</ResponseField>

<ResponseField name="createdAt" type="number" required>
  プロジェクトが作成されたUnixタイムスタンプ。
</ResponseField>

<ResponseField name="progress" type="object" required>
  現在のプロジェクトレベルの進捗状況。

  <Expandable title="進捗プロパティ">
    <ResponseField name="progress.step" type="string">
      現在のプロジェクト作成または文字起こしのステップ。
    </ResponseField>

    <ResponseField name="progress.transcriptionProgress" type="number">
      プロジェクト作成/文字起こしの概算進捗率。
    </ResponseField>

    <ResponseField name="progress.transcriptionStatus" type="string" required>
      ソース文字起こしのステータス: `processing`、`success`、または `failed`。
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="translations" type="array" required>
  翻訳バージョン履歴。新しいバージョンから順に並べ替えられています。

  <Expandable title="翻訳プロパティ">
    <ResponseField name="translations[].workId" type="string">
      翻訳作業の識別子。
    </ResponseField>

    <ResponseField name="translations[].translatedVersionId" type="string">
      翻訳バージョンの識別子。
    </ResponseField>

    <ResponseField name="translations[].targetLanguage" type="string">
      このバージョンのターゲット言語。
    </ResponseField>

    <ResponseField name="translations[].status" type="string">
      翻訳バージョンのステータス: `in-progress`、`completed`、`not-started`、または `failed`。
    </ResponseField>

    <ResponseField name="translations[].currentStep" type="string">
      このバージョンの現在の吹き替えステップ。
    </ResponseField>

    <ResponseField name="translations[].progress" type="number">
      吹き替えの概算進捗率。
    </ResponseField>

    <ResponseField name="translations[].createdAt" type="number">
      この翻訳バージョンが作成されたタイムスタンプ。
    </ResponseField>

    <ResponseField name="translations[].completedAt" type="number">
      利用可能な場合の完了タイムスタンプ。
    </ResponseField>

    <ResponseField name="translations[].failedAt" type="number">
      利用可能な場合の失敗タイムスタンプ。
    </ResponseField>

    <ResponseField name="translations[].timedOutAt" type="number">
      利用可能な場合のタイムアウトタイムスタンプ。
    </ResponseField>

    <ResponseField name="translations[].translatedVideoUrl" type="string">
      翻訳された動画のURL。
    </ResponseField>

    <ResponseField name="translations[].translatedAudioUrl" type="string">
      翻訳済み音声のURL。
    </ResponseField>

    <ResponseField name="translations[].settings" type="object">
      字幕、SmartSync、背景音声、品質モードなど、翻訳版に使用される公開設定。
    </ResponseField>

    <ResponseField name="translations[].error" type="object">
      翻訳版の作成に失敗した場合のエラーコードとメッセージ。
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="translations[].lipSync" type="object">
  翻訳版のリップシンク履歴。リップシンクがリクエストされた場合にのみ表示されます。

  <Expandable title="lipSyncプロパティ">
    <ResponseField name="translations[].lipSync.latest" type="object">
      最新のリップシンク試行。
    </ResponseField>

    <ResponseField name="translations[].lipSync.history" type="array">
      この翻訳版に対するすべてのリップシンク試行（作成順）。
    </ResponseField>

    <ResponseField name="translations[].lipSync.history[].jobId" type="string">
      リップシンクジョブの識別子。
    </ResponseField>

    <ResponseField name="translations[].lipSync.history[].status" type="string">
      リップシンクのステータス：`PENDING`、`PROCESSING`、`COMPLETED`、`FAILED`、`REJECTED`、または`CANCELED`。
    </ResponseField>

    <ResponseField name="translations[].lipSync.history[].videoUrl" type="string">
      完了時のリップシンク済み動画URL。
    </ResponseField>

    <ResponseField name="translations[].lipSync.history[].type" type="string">
      リップシンクモード：`standard`、`pro`、または`studio`。
    </ResponseField>

    <ResponseField name="translations[].lipSync.history[].activeSpeakerDetectionEnabled" type="boolean">
      この試行でアクティブスピーカー検出が有効になっていたかどうか。
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="translations[].dynamicSubtitles" type="object">
  利用可能な場合の動的字幕の状態。
</ResponseField>

<ResponseField name="translations[].publicationAttempts" type="array">
  利用可能な場合の公開試行の状態。
</ResponseField>

<ResponseField name="translations[].publishedVideos" type="array">
  利用可能な場合の公開済み動画リファレンス。
</ResponseField>

## 例

```bash cURL theme={null}
curl -X GET "https://api.voicecheap.ai/v1/projects/abc123-def456-ghi789" \
  -H "x-api-key: vc_your-api-key"
```

```json Response theme={null}
{
  "projectId": "abc123-def456-ghi789",
  "projectName": "Launch Demo",
  "status": "success",
  "workflow": "translation",
  "originalVideoUrl": "https://storage.example.com/input.mp4",
  "originalLanguage": "en",
  "targetLanguages": ["french"],
  "duration": 120,
  "createdAt": 1791280000000,
  "progress": {
    "step": "done",
    "transcriptionProgress": 100,
    "transcriptionStatus": "success"
  },
  "translations": [
    {
      "workId": "work_123",
      "translatedVersionId": "version_456",
      "targetLanguage": "french",
      "status": "completed",
      "currentStep": "done",
      "progress": 100,
      "createdAt": 1791280200000,
      "completedAt": 1791280800000,
      "translatedVideoUrl": "https://storage.example.com/translated.mp4",
      "translatedAudioUrl": "https://storage.example.com/translated.mp3",
      "settings": {
        "voiceCloning": true,
        "uploadType": "video",
        "keepBackgroundMusic": true,
        "keepOriginalVoice": false,
        "originalVoiceVolume": 30,
        "subtitles": {
          "isEnable": true,
          "source": "translated"
        },
        "smartSync": true,
        "voiceIsolatorOption": "studio",
        "translationQualityMode": "max"
      },
      "lipSync": {
        "latest": {
          "jobId": "lip_789",
          "status": "COMPLETED",
          "videoUrl": "https://storage.example.com/lipsync.mp4",
          "errorMessage": null,
          "type": "pro",
          "createdAt": "2026-06-08T10:00:00.000Z",
          "completedAt": "2026-06-08T10:20:00.000Z",
          "activeSpeakerDetectionEnabled": true
        },
        "history": [
          {
            "jobId": "lip_789",
            "status": "COMPLETED",
            "videoUrl": "https://storage.example.com/lipsync.mp4",
            "errorMessage": null,
            "type": "pro",
            "createdAt": "2026-06-08T10:00:00.000Z",
            "completedAt": "2026-06-08T10:20:00.000Z",
            "activeSpeakerDetectionEnabled": true
          }
        ]
      }
    }
  ]
}
```

## エラー

| ステータス | コード                   | 説明                    |
| ----- | --------------------- | --------------------- |
| 401   | `MISSING_API_KEY`     | APIキーが必要です            |
| 401   | `INVALID_API_KEY`     | 提供されたAPIキーは無効です       |
| 403   | `FORBIDDEN`           | プロジェクトにアクセスする権限がありません |
| 404   | `PROJECT_NOT_FOUND`   | プロジェクトが存在しません         |
| 429   | `RATE_LIMIT_EXCEEDED` | リクエストが多すぎます           |
| 500   | `INTERNAL_ERROR`      | 予期しないサーバーエラー          |
