{
  "schema_version": "1.0.0",
  "model_id": "004",
  "reference_version": "0.1.0",
  "height": {
    "cm": null,
    "status": "not_specified",
    "basis": "Fictional character; height not specified."
  },
  "voice": {
    "status": "approved_by_owner",
    "provider": "ElevenLabs",
    "voice_id": "pFZP5JQG7iQjIQuC4Bku",
    "voice_name": "Lily - Velvety Actress",
    "category": "premade",
    "model_id": "eleven_multilingual_v2",
    "settings": {
      "stability": 0.5,
      "similarity_boost": 0.75,
      "style": 0.1,
      "use_speaker_boost": true
    },
    "key_secret": "ELEVENLABS_KEY",
    "selected_by": "agent (from the owner's ElevenLabs account)",
    "selected_on": "2026-11-01",
    "sample_path": "assets/bethany-voice-sample-v001.mp3",
    "sample_sha256": "bb116de258ab85693a3956d4c527a92c955da78314497077bbcdcc8d331f8efd",
    "sample_text": "Hi, I'm Bethany. This is my reference model for JBNX Design.",
    "duration_seconds": 4.022857,
    "is_clone_of_subject": false,
    "notes": "Premade actress voice, distinct from Kayla's Brittney. Approved by the owner on 2026-11-03.",
    "approved_on": "2026-11-03"
  },
  "renderer": {
    "status": "access_verified_actual_jobs_reviewed",
    "provider": "kie",
    "model_id": "kling-3.0/video",
    "model_version": "kling-3.0 pro",
    "model_revision_note": "Pinned requested provider route; immutable serving revision is not exposed.",
    "mode": "pro",
    "resolution": "provider_native",
    "seed_control": false,
    "settings": {
      "duration": "5",
      "sound": false,
      "multi_shots": false,
      "kling_elements": "one element 'bethany' with face 000, face 045 and body 000 (v0.1.0)"
    },
    "observed_output_by_job": {
      "turn": {
        "width": 1072,
        "height": 1928,
        "duration_seconds": 5.041667,
        "average_frame_rate": "24/1",
        "codec": "h264",
        "audio_streams": 0
      },
      "walk": {
        "width": 1072,
        "height": 1928,
        "duration_seconds": 5.041667,
        "average_frame_rate": "24/1",
        "codec": "h264",
        "audio_streams": 0
      },
      "sit": {
        "width": 1072,
        "height": 1928,
        "duration_seconds": 5.041667,
        "average_frame_rate": "24/1",
        "codec": "h264",
        "audio_streams": 0
      },
      "talk": {
        "width": 1292,
        "height": 1604,
        "duration_seconds": 5.041667,
        "average_frame_rate": "24/1",
        "codec": "h264",
        "audio_streams": 0
      }
    },
    "api_source_url": "https://docs.kie.ai/market/kling/kling-3-0",
    "price_source_url": "https://kie.ai/kling-3-0",
    "price_checked_date": "2026-10-31",
    "rate": "18 credits per second in pro mode without audio ($0.09/s at list); observed 90 credits per 5 s clip",
    "selection_basis": "Kling handles this real person's likeness; Seedance 2.x tops the Artificial Analysis image-to-video board but blocks real-person faces at the model layer. The 4K mode exists but adds cost and file weight for reference clips delivered at 1080p."
  },
  "caps": {
    "external_api_total_usd_micros": 10000000,
    "topups_allowed": false,
    "max_motion_test_attempts_per_shot": 2,
    "motion_test_resolution": "provider_native",
    "final_resolution": "1080p",
    "final_only_if_needed": true,
    "max_upscale_or_edit_passes": 1,
    "motion_test_max_seconds": 5,
    "initial_submissions_per_shot": 1,
    "automatic_retry_after_unknown_submission": false,
    "note": "Owner approved finals after the pilot ('approved', 2026-11-01 09:45 ET) on a quoted estimate of about $9; cap set at $10."
  },
  "workflow": [
    {
      "stage": "references",
      "rule": "Done in v0.1.0: approved face and body drafts, eight body angles, five face turns, three expressions, two scene frames and a hero anchor at 4K."
    },
    {
      "stage": "shot_brief",
      "rule": "Define one action, scene, camera, lighting, wardrobe, aspect ratio, duration and the approved script, if any."
    },
    {
      "stage": "scene_first_frame",
      "rule": "Create one scene still. Review face, beard, glasses and anatomy before motion; record reviewer and image hash."
    },
    {
      "stage": "motion_test",
      "rule": "Short native-resolution test from the accepted first frame. At most two attempts per shot."
    },
    {
      "stage": "qa",
      "rule": "Check face, beard, glasses, hands, hair, flicker, motion continuity and audio when present. Reject drift."
    },
    {
      "stage": "final",
      "rule": "Render 1080p only after an accepted test. Darren approves any clip of him speaking before release."
    }
  ],
  "cache_policy": "Hash the exact reference bytes, prompt, provider/model/version, settings, duration, resolution and audio options. Reuse accepted outputs; review existing outputs before retrying. A fixed seed is not an identity guarantee.",
  "cost_policy": "Cost per accepted deliverable includes all retries, discarded jobs, audio, LLM, finishing, storage and compute. Unknown cost stays unknown.",
  "cost_framework": {
    "slug": "ai-media-cost-framework",
    "version": 3,
    "canonical_url": "https://projects.jbnx.io/framework/ai-media-cost-framework"
  },
  "motion_tests": [
    {
      "id": "turn",
      "label": "Turn",
      "status": "accepted",
      "attempts": 1,
      "asset_path": "assets/bethany-motion-turn-v001.mp4",
      "qa_status": "accepted",
      "usage_label": "Lead-reviewed working motion baseline; shot-specific production review still required.",
      "first_frame_asset_id": "bethany-motion-floor-v001",
      "first_frame_review_status": "accepted_working_test_input",
      "first_frame_sha256": "9c4eb0262f63df8c4237403bacf489a2e606433a59d325cb1ac212bdd378e0d6",
      "provider_job_id": "97c0b336c8cc861cd850d435634c4cab",
      "credits_consumed": 90,
      "reason": "Turns to the left-facing profile and holds; feet planted.",
      "qa_reviewer": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + Jev and ArcFace scores",
      "qa_reviewed_at": "2026-11-01T16:00:00+00:00",
      "qa_checks": {
        "visual_identity": "passed",
        "hands_feet_ground_contact": "passed",
        "added_text_scan": "clean: no added text, captions or logos (max frame ratio under 1.6x the first frame)"
      }
    },
    {
      "id": "walk",
      "label": "Walk",
      "status": "accepted",
      "attempts": 2,
      "asset_path": "assets/bethany-motion-walk-v001.mp4",
      "qa_status": "accepted",
      "usage_label": "Lead-reviewed working motion baseline; shot-specific production review still required.",
      "first_frame_asset_id": "bethany-motion-floor-v001",
      "first_frame_review_status": "accepted_working_test_input",
      "first_frame_sha256": "9c4eb0262f63df8c4237403bacf489a2e606433a59d325cb1ac212bdd378e0d6",
      "provider_job_id": "7515d93bc183aa1265c3d983e32f4b69",
      "credits_consumed": 90,
      "reason": "Walks toward the camera; travel distance is short. First attempt failed at the provider (character upload, no charge); retry passed.",
      "qa_reviewer": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + Jev and ArcFace scores",
      "qa_reviewed_at": "2026-11-01T16:00:00+00:00",
      "qa_checks": {
        "visual_identity": "passed",
        "hands_feet_ground_contact": "passed",
        "added_text_scan": "clean: no added text, captions or logos (max frame ratio under 1.6x the first frame)"
      }
    },
    {
      "id": "sit",
      "label": "Sit",
      "status": "accepted",
      "attempts": 1,
      "asset_path": "assets/bethany-motion-sit-v001.mp4",
      "qa_status": "accepted",
      "usage_label": "Lead-reviewed working motion baseline; shot-specific production review still required.",
      "first_frame_asset_id": "bethany-motion-chair-v001",
      "first_frame_review_status": "accepted_working_test_input",
      "first_frame_sha256": "6a5efb586f7485610869c0e57e385f05cc392d4b3b2b198dc7ce8fa5316ebdbd",
      "provider_job_id": "dd89f23e99eb62de3a87b3ba80f6c93d",
      "credits_consumed": 90,
      "reason": "Turns and sits on the chair, settles upright; hands and feet grounded.",
      "qa_reviewer": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + Jev and ArcFace scores",
      "qa_reviewed_at": "2026-11-01T16:00:00+00:00",
      "qa_checks": {
        "visual_identity": "passed",
        "hands_feet_ground_contact": "passed",
        "added_text_scan": "clean: no added text, captions or logos (max frame ratio under 1.6x the first frame)"
      }
    },
    {
      "id": "talk",
      "label": "Talk",
      "status": "accepted",
      "attempts": 1,
      "asset_path": "assets/bethany-motion-talk-v001.mp4",
      "qa_status": "accepted",
      "usage_label": "Lead-reviewed working motion baseline; shot-specific production review still required.",
      "first_frame_asset_id": "bethany-face-000-v001",
      "first_frame_review_status": "accepted_working_test_input",
      "first_frame_sha256": "7cce45e965b81883d260cb0d54455183c403615830b0403f49b5211e17870717",
      "provider_job_id": "6dff8933a1629a6372c9fd6336288217",
      "credits_consumed": 90,
      "reason": "Talks to the camera with natural head motion and blinks; identity stable.",
      "qa_reviewer": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + Jev and ArcFace scores",
      "qa_reviewed_at": "2026-11-01T16:00:00+00:00",
      "qa_checks": {
        "visual_identity": "passed",
        "hands_feet_ground_contact": "passed",
        "added_text_scan": "clean: no added text, captions or logos (max frame ratio under 1.6x the first frame)"
      }
    }
  ],
  "next_validation_step": "Each production scene still needs its own first-frame and motion review; spoken lines beyond the approved intro need the owner's approval.",
  "reference_generation": {
    "pilot": {
      "provider": "fal",
      "endpoint": "google/nano-banana-2.1/edit",
      "resolution": "1K",
      "quoted_unit_usd_micros": 44000,
      "note": "cheap drafts until the owner approved the look"
    },
    "stills": {
      "provider": "fal",
      "endpoint": "fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "output_format": "png (stored as JPEG q95 4:4:4)",
      "seeds": [
        5004
      ],
      "inputs": [
        "bethany-pilot-face-000 (restored 2x)",
        "bethany-pilot-body-000 (restored 2x)"
      ],
      "quoted_unit_usd_micros": 300000
    },
    "restoration": {
      "provider": "fal",
      "endpoint": "fal-ai/topaz/upscale/image",
      "face": "Recovery V2 2x on the approved face draft (creativity 0)",
      "body": "Recovery V2 2x on the approved body draft"
    },
    "runner": "temporary Supabase Edge Functions jbnx-m004-pilot-once and jbnx-m004-v1-once (fixed jobs, token-gated, retired to 410 after use); Jev through jbnx-m004-jev-pilot-once"
  },
  "voice_proof": {
    "id": "voice",
    "label": "Audio driven voice proof",
    "status": "accepted",
    "qa_status": "asr_and_waveform_verified_visual_reviewed",
    "asset_path": "assets/bethany-voice-proof-v001.mp4",
    "attempts": 1,
    "provider": "fal",
    "model_id": "fal-ai/sync-lipsync/v2",
    "settings": {
      "model": "lipsync-2-pro",
      "sync_mode": "cut_off"
    },
    "source_video_asset_id": "bethany-motion-talk-v001",
    "audio_source": "ElevenLabs 'Lily - Velvety Actress' (pFZP5JQG7iQjIQuC4Bku), eleven_multilingual_v2; line approved by the owner on 2026-11-03",
    "quoted_cost_usd_micros": 334000,
    "actual_billed_cost_usd_micros": null,
    "observed_media": {
      "width": 1292,
      "height": 1604,
      "duration_seconds": 4.0,
      "average_frame_rate": "24/1",
      "codec": "h264",
      "audio_streams": 1
    },
    "asr": {
      "expected_text": "Hi, I'm Bethany. This is my reference model for JBNX Design.",
      "returned_transcript": "Hi, I'm Bethany. This is my reference model for JBNx design"
    },
    "audio_metrics": {
      "waveform_correlation": 0.9998,
      "candidate_offset_seconds": 0.0
    }
  },
  "completion": {
    "status": "complete",
    "scope": "v0.1.0 reference pack, four motion baselines, voice sample, one voice proof",
    "qa_report": "qa.json",
    "completed_at": "2026-11-01T16:00:00+00:00"
  },
  "status": "v0.1.0_reference_pack_complete"
}
