{
  "schema_version": 1,
  "project_id": "025-Nguoi-Giu-Cho-Cuoi-Cung",
  "run_id": "run-20260721T232244Z-a0837ee4",
  "status": "completed",
  "verified": true,
  "source_canon_sha256": "c22631b78c56363d073b1fe395fd76a673d19e4a67030ed262a50587026abae3",
  "source_poster_sha256": "05538f1e7fecca001abd431ba8089b580a84b35b4cb6c53d5d0bd499372ca034",
  "intro_text": "Các bạn đang nghe truyện được phát từ Hạ Trâm Audio, chúc các bạn có những giây phút nghe truyện vui vẻ. Hãy ủng hộ chúng tôi bằng cách like video và đăng ký kênh.",
  "intro_text_sha256": "482b34e811417621a6a07e63951f7e0ae30f42e2f9fa6764a15fa2642a8fa402",
  "voice_contract": {
    "source_canon_sha256": "c22631b78c56363d073b1fe395fd76a673d19e4a67030ed262a50587026abae3",
    "intro_text_sha256": "482b34e811417621a6a07e63951f7e0ae30f42e2f9fa6764a15fa2642a8fa402",
    "endpoint": "http://192.168.40.32:7861/voice/ngoc-huyen-clone",
    "style": "doc_truyen",
    "speed": "1.0",
    "denoise": "true"
  },
  "voice_intent_path": "/data/video-pipeline/HaTramAudio/project/025-Nguoi-Giu-Cho-Cuoi-Cung/audio/intro-voice.intent.json",
  "voice_intent_sha256": "5522b1b33cfe59e0e03fc01de4ffa24b6786e3270bc732727f9a31ba9c1ef53c",
  "voice_path": "/data/video-pipeline/HaTramAudio/project/025-Nguoi-Giu-Cho-Cuoi-Cung/audio/intro-voice.wav",
  "voice_sha256": "6feb282516ed83452b61d97e1d611362a3dc2572a4b5a0c35ab931fdd8143103",
  "silence_path": "/data/video-pipeline/HaTramAudio/project/025-Nguoi-Giu-Cho-Cuoi-Cung/audio/intro-silence-2s.wav",
  "silence_duration_seconds": 2.0,
  "audio_path": "/data/video-pipeline/HaTramAudio/project/025-Nguoi-Giu-Cho-Cuoi-Cung/audio/intro-full.wav",
  "audio_sha256": "04200c5ac70892e12aa9b3034b5405a6c980446f4b4782e753d5f5411bbdc9da",
  "audio_duration_seconds": 10.88,
  "artifact_path": "/data/video-pipeline/HaTramAudio/project/025-Nguoi-Giu-Cho-Cuoi-Cung/output/intro/intro.mp4",
  "artifact_sha256": "67597fc8d575a3c968ed6e901a01fcdfe810da98572226ddf744411cacf67a28",
  "artifact_bytes": 1441972,
  "duration_seconds": 10.88,
  "duration_delta_seconds": 0.0,
  "encoder": "h264_nvenc via SSH GPU worker",
  "probe": {
    "programs": [],
    "streams": [
      {
        "index": 0,
        "codec_name": "h264",
        "profile": "High",
        "codec_type": "video",
        "width": 1920,
        "height": 1080,
        "pix_fmt": "yuv420p",
        "r_frame_rate": "30/1"
      },
      {
        "index": 1,
        "codec_name": "aac",
        "profile": "LC",
        "codec_type": "audio",
        "sample_rate": "48000",
        "channels": 1,
        "r_frame_rate": "0/0"
      }
    ],
    "format": {
      "duration": "10.880000",
      "size": "1441972"
    }
  },
  "completed_at": "2026-07-22T00:11:32.096902Z"
}
