bellmake commited on
Commit
9f37699
·
0 Parent(s):

SAM3 Video Segmentation - Clean deployment

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +4 -0
  2. .gitignore +54 -0
  3. LICENSE +2 -0
  4. README.md +100 -0
  5. app.py.encrypted +0 -0
  6. app_loader.py +89 -0
  7. assets/bpe_simple_vocab_16e6.txt.gz +3 -0
  8. assets/dog.gif +3 -0
  9. assets/images/groceries.jpg +3 -0
  10. assets/images/test_image.jpg +3 -0
  11. assets/images/truck.jpg +3 -0
  12. assets/model_diagram.png +3 -0
  13. assets/player.gif +3 -0
  14. assets/sa_co_dataset.jpg +3 -0
  15. assets/saco_gold_annotation.png +3 -0
  16. assets/veval/toy_gt_and_pred/toy_saco_veval_sav_test_eval_res.json +3 -0
  17. assets/veval/toy_gt_and_pred/toy_saco_veval_sav_test_gt.json +3 -0
  18. assets/veval/toy_gt_and_pred/toy_saco_veval_sav_test_pred.json +3 -0
  19. assets/videos/0001/0.jpg +3 -0
  20. assets/videos/0001/1.jpg +3 -0
  21. assets/videos/0001/10.jpg +3 -0
  22. assets/videos/0001/100.jpg +3 -0
  23. assets/videos/0001/101.jpg +3 -0
  24. assets/videos/0001/102.jpg +3 -0
  25. assets/videos/0001/103.jpg +3 -0
  26. assets/videos/0001/104.jpg +3 -0
  27. assets/videos/0001/105.jpg +3 -0
  28. assets/videos/0001/106.jpg +3 -0
  29. assets/videos/0001/107.jpg +3 -0
  30. assets/videos/0001/108.jpg +3 -0
  31. assets/videos/0001/109.jpg +3 -0
  32. assets/videos/0001/11.jpg +3 -0
  33. assets/videos/0001/110.jpg +3 -0
  34. assets/videos/0001/111.jpg +3 -0
  35. assets/videos/0001/112.jpg +3 -0
  36. assets/videos/0001/113.jpg +3 -0
  37. assets/videos/0001/114.jpg +3 -0
  38. assets/videos/0001/115.jpg +3 -0
  39. assets/videos/0001/116.jpg +3 -0
  40. assets/videos/0001/117.jpg +3 -0
  41. assets/videos/0001/118.jpg +3 -0
  42. assets/videos/0001/119.jpg +3 -0
  43. assets/videos/0001/12.jpg +3 -0
  44. assets/videos/0001/120.jpg +3 -0
  45. assets/videos/0001/121.jpg +3 -0
  46. assets/videos/0001/122.jpg +3 -0
  47. assets/videos/0001/123.jpg +3 -0
  48. assets/videos/0001/124.jpg +3 -0
  49. assets/videos/0001/125.jpg +3 -0
  50. assets/videos/0001/126.jpg +3 -0
.gitattributes ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ *.mp4 filter=lfs diff=lfs merge=lfs -text
2
+
3
+ sam3/perflib/tests/assets/masks.tiff filter=lfs diff=lfs merge=lfs -text
4
+ assets/** filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __pycache__/
2
+ .DS_Store
3
+ example_sam3_project_local/
4
+ *.py[cod]
5
+ *$py.class
6
+ *.so
7
+ .Python
8
+ env/
9
+ venv/
10
+ ENV/
11
+ *.egg-info/
12
+ .eggs/
13
+ dist/
14
+ build/
15
+
16
+ # Source code protection
17
+ # app.py is tracked in GitHub (private), but excluded in HuggingFace deployments
18
+ # Use 'push-hf.sh' script to deploy to HuggingFace without app.py
19
+ encrypt_code.py
20
+ setup_hooks.sh
21
+ cookie_util.py
22
+
23
+ # Gradio
24
+ flagged/
25
+ gradio_cached_examples/
26
+
27
+ # Outputs
28
+ *.mp4
29
+ !bedroom.mp4
30
+ !football.mp4
31
+ !openfield_5mice_3s.mp4
32
+ !openfield_5mice_5min.mp4
33
+ !openfield_5mice_6min.mp4
34
+ !openfield_5mice_7min.mp4
35
+ !examples/*.mp4
36
+
37
+ # Model checkpoints
38
+ *.pth
39
+ *.ckpt
40
+ checkpoints/
41
+
42
+ # Logs
43
+ *.log
44
+
45
+ # IDE/editor
46
+ .vscode/
47
+ .idea/
48
+ *.swp
49
+ *.swo
50
+
51
+ # OS
52
+ .DS_Store
53
+ Thumbs.db
54
+ .env
LICENSE ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Unauthorized use of this code is prohibited.\n
2
+ For inquiries regarding permissions, please send email to : bellmake@naver.com
README.md ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: SAM3 Video Segmentation and Tracking with Text Prompt
3
+ emoji: 🎬
4
+ colorFrom: blue
5
+ colorTo: purple
6
+ sdk: gradio
7
+ sdk_version: 5.9.1
8
+ app_file: app_loader.py
9
+ pinned: false
10
+ ---
11
+
12
+ # 🎬 SAM3 Video Segmentation and Tracking with Text Prompt
13
+
14
+ A HuggingFace Spaces app that automatically segments and tracks objects in videos using text prompts.
15
+
16
+ ## ✨ Key Features
17
+
18
+ - **Text-driven segmentation**: Describe the target object in natural language
19
+ - **Multiple objects**: Segment several objects at once by separating them with commas
20
+ - **Temporal consistency**: Tracks objects across frames for stable masks
21
+ - **Distinct colors**: Assigns unique colors for each object
22
+ - **Live progress**: Watch processing updates in real time
23
+ - **High-quality output**: Produces MP4 encoded with H.264 for broad compatibility
24
+
25
+ ## 🚀 How to Use
26
+
27
+ 1. **Upload a video**: Provide an MP4 file
28
+ 2. **Enter prompts**: Type the objects to segment
29
+ - Single object: `bed`, `person`, `car`, `dog`, etc.
30
+ - Multiple objects: `bed, pillow, person` (comma-separated)
31
+ 3. **Run**: Click the "🚀 Run Segmentation" button
32
+ 4. **Review results**: Preview and download the segmented video
33
+
34
+ ## 📋 Examples
35
+
36
+ ### Single-object segmentation
37
+ ```
38
+ Prompt: bed
39
+ Result: Only the bed is segmented and highlighted
40
+ ```
41
+
42
+ ### Multi-object segmentation
43
+ ```
44
+ Prompt: bed, pillow, person
45
+ Result: Bed, pillow, and person are segmented with unique colors
46
+ ```
47
+
48
+ ## 🛠️ Tech Stack
49
+
50
+ - **Model**: SAM3 (Segment Anything Model 3)
51
+ - **Framework**: Gradio
52
+ - **Video processing**: OpenCV, FFmpeg
53
+ - **Deep learning**: PyTorch
54
+
55
+ ## 📊 Performance & Limitations
56
+
57
+ - **Processing time**: Scales with video length and resolution
58
+ - **Multiple objects**: More objects increase runtime (roughly N objects ≈ N× time)
59
+ - **GPU requirement**: GPU needed to run SAM3 efficiently
60
+ - **Memory**: High-resolution videos require more memory
61
+
62
+ ## 🔧 Run Locally
63
+
64
+ ```bash
65
+ # Clone the space
66
+ git clone https://huggingface.co/spaces/bellmake/SAM3-video-segmentation-tracking
67
+ cd SAM3-video-segmentation-tracking
68
+
69
+ # Install dependencies
70
+ pip install -r requirements.txt
71
+
72
+ # Start the app
73
+ python app.py
74
+ ```
75
+
76
+ ## 📁 Project Structure
77
+
78
+ ```
79
+ .
80
+ ├── app.py # Main Gradio app
81
+ ├── requirements.txt # Python dependencies
82
+ ├── packages.txt # System packages (FFmpeg)
83
+ ├── bedroom.mp4 # Sample video
84
+ ├── example_sam3_project_local/ # Local SAM3 project
85
+ └── README.md # This file
86
+ ```
87
+
88
+ ## 🤝 Contributing
89
+
90
+ Issues and pull requests are welcome!
91
+
92
+
93
+ ## 📄 License
94
+
95
+ Unauthorized use of this code is prohibited.\n
96
+ For inquiries regarding permissions, please send email to : bellmake@naver.com
97
+
98
+ ---
99
+
100
+ **Powered by SAM3 & HuggingFace Spaces**
app.py.encrypted ADDED
The diff for this file is too large to render. See raw diff
 
app_loader.py ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """
3
+ Encrypted Code Loader - Hugging Face Space Entry Point
4
+
5
+ This file decrypts and executes the encrypted app.py.
6
+ DECRYPT_KEY must be stored in Hugging Face Space Secrets.
7
+ """
8
+
9
+ import os
10
+ import sys
11
+ from cryptography.fernet import Fernet
12
+
13
+ # List of files to decrypt
14
+ ENCRYPTED_FILES = {
15
+ "app.py.encrypted": "app.py",
16
+ }
17
+
18
+
19
+ def decrypt_file(encrypted_path, decrypted_path, key):
20
+ """Decrypts an encrypted file."""
21
+ cipher = Fernet(key)
22
+
23
+ # Read encrypted file
24
+ with open(encrypted_path, 'rb') as f:
25
+ encrypted_data = f.read()
26
+
27
+ # Decrypt
28
+ try:
29
+ decrypted_data = cipher.decrypt(encrypted_data)
30
+ except Exception as e:
31
+ print(f"❌ Decryption failed for {encrypted_path}: {e}")
32
+ print(" Please check that DECRYPT_KEY is correctly set in Space Secrets.")
33
+ sys.exit(1)
34
+
35
+ # Save decrypted file to temporary location (current directory in this case)
36
+ with open(decrypted_path, 'wb') as f:
37
+ f.write(decrypted_data)
38
+
39
+ print(f"✓ Decrypted: {encrypted_path} → {decrypted_path} ({len(decrypted_data):,} bytes)")
40
+
41
+
42
+ def main():
43
+ print("=" * 60)
44
+ print("🔓 Decrypting source code...")
45
+ print("=" * 60)
46
+
47
+ # Get decryption key from Secrets
48
+ key_str = os.getenv("DECRYPT_KEY")
49
+ if not key_str:
50
+ print("❌ ERROR: DECRYPT_KEY not found in environment variables!")
51
+ print(" Please set DECRYPT_KEY in Hugging Face Space Secrets.")
52
+ print(" Go to: Settings → Variables and secrets → Add secret")
53
+ sys.exit(1)
54
+
55
+ try:
56
+ key = key_str.encode('utf-8')
57
+ cipher = Fernet(key) # Validate key
58
+ except Exception as e:
59
+ print(f"❌ Invalid DECRYPT_KEY: {e}")
60
+ sys.exit(1)
61
+
62
+ print(f"✓ DECRYPT_KEY loaded from secrets")
63
+ print()
64
+
65
+ # Decrypt files
66
+ for encrypted_file, decrypted_file in ENCRYPTED_FILES.items():
67
+ if not os.path.exists(encrypted_file):
68
+ print(f"⚠️ Warning: {encrypted_file} not found, skipping...")
69
+ continue
70
+ decrypt_file(encrypted_file, decrypted_file, key)
71
+
72
+ print()
73
+ print("=" * 60)
74
+ print("✅ Decryption complete! Starting application...")
75
+ print("=" * 60)
76
+ print()
77
+
78
+ # Execute decrypted app.py
79
+ # app.py automatically launches the Gradio app upon import
80
+ import app
81
+
82
+ # Explicitly launch if a demo object exists
83
+ if hasattr(app, 'demo'):
84
+ print("✓ Launching Gradio app...")
85
+ app.demo.launch()
86
+
87
+
88
+ if __name__ == "__main__":
89
+ main()
assets/bpe_simple_vocab_16e6.txt.gz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:924691ac288e54409236115652ad4aa250f48203de50a9e4722a6ecd48d6804a
3
+ size 1356917
assets/dog.gif ADDED

Git LFS Details

  • SHA256: 9f42cb8f54361ad303865d9d4907abd6b7c55f1a2eaac9ff4a49ed73c385a89d
  • Pointer size: 132 Bytes
  • Size of remote file: 7.11 MB
assets/images/groceries.jpg ADDED

Git LFS Details

  • SHA256: 7073dfecb5a3ecafb6152124113163a0ea1c1c70f92999ec892b519eca63e3d3
  • Pointer size: 131 Bytes
  • Size of remote file: 168 kB
assets/images/test_image.jpg ADDED

Git LFS Details

  • SHA256: 979f120edcb0050a12d5b4a1f1eaf6bc888b89f675524e7ffcf6ae5b77aa6bc4
  • Pointer size: 130 Bytes
  • Size of remote file: 70.6 kB
assets/images/truck.jpg ADDED

Git LFS Details

  • SHA256: 941715e721c8864324a1425b445ea4dde0498b995c45ddce0141a58971c6ff99
  • Pointer size: 131 Bytes
  • Size of remote file: 271 kB
assets/model_diagram.png ADDED

Git LFS Details

  • SHA256: f138d1aa02840a108b7b9578a817c974dc6fcb0e696c84121a48ff0976686ce9
  • Pointer size: 131 Bytes
  • Size of remote file: 724 kB
assets/player.gif ADDED

Git LFS Details

  • SHA256: a5d1a3bb1955e78afe3a77a030221d7dc0dad49fa00acc7063636573825bf3a8
  • Pointer size: 132 Bytes
  • Size of remote file: 4.36 MB
assets/sa_co_dataset.jpg ADDED

Git LFS Details

  • SHA256: f1ddd6e5d4130cb37e0b41f474ac78e75483db1b8964552b042bc8bef03b9cd1
  • Pointer size: 132 Bytes
  • Size of remote file: 1.01 MB
assets/saco_gold_annotation.png ADDED

Git LFS Details

  • SHA256: dd4a6322763d00c667d66e3628f794625619de918e96017a9276a2cd2a0b0ec5
  • Pointer size: 132 Bytes
  • Size of remote file: 3.95 MB
assets/veval/toy_gt_and_pred/toy_saco_veval_sav_test_eval_res.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d491596003e0dd7742705ea17ab84375e468d3bca3464b831d9d504e550ff8e8
3
+ size 12166
assets/veval/toy_gt_and_pred/toy_saco_veval_sav_test_gt.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4a1a964427d4e4225f883ed3d08ffa1d3613c45ac35dcc9426f2a25031c92a31
3
+ size 3398949
assets/veval/toy_gt_and_pred/toy_saco_veval_sav_test_pred.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c593f97bb4701a8c34df38bfebaf9091c6ba4f056860a789c38877be6403652e
3
+ size 542939
assets/videos/0001/0.jpg ADDED

Git LFS Details

  • SHA256: 1435526859e0acf2bf48622113a76f6df186c95e5a223cbdab173c794c7cb28a
  • Pointer size: 131 Bytes
  • Size of remote file: 145 kB
assets/videos/0001/1.jpg ADDED

Git LFS Details

  • SHA256: 8737dc77b892c9d502731028b2cddaa5d387e3e5f2cb55d4f53d0086a02752f9
  • Pointer size: 131 Bytes
  • Size of remote file: 141 kB
assets/videos/0001/10.jpg ADDED

Git LFS Details

  • SHA256: cff6d920f7f3732ac92dcdfe1cd39c169bb4320796bee39008869de99fed4c9f
  • Pointer size: 131 Bytes
  • Size of remote file: 137 kB
assets/videos/0001/100.jpg ADDED

Git LFS Details

  • SHA256: eab7f1f51c40e6a01636f589bf5faf5312ff26fa65413f0a8a2ed78ff5cec2dc
  • Pointer size: 131 Bytes
  • Size of remote file: 115 kB
assets/videos/0001/101.jpg ADDED

Git LFS Details

  • SHA256: 5edbbd8e3978b64e298e2fc3539340826e7b93e3ca1273cbc0f5db13ea6c215d
  • Pointer size: 131 Bytes
  • Size of remote file: 117 kB
assets/videos/0001/102.jpg ADDED

Git LFS Details

  • SHA256: d152993219fd4c8c010a916471f5df3bdec885987a97fb93debf00871578de90
  • Pointer size: 131 Bytes
  • Size of remote file: 114 kB
assets/videos/0001/103.jpg ADDED

Git LFS Details

  • SHA256: ed32e7f0a21804fda6c0f2edcb6d0e5c0250bd81629f6dc9f90a5600b400c34c
  • Pointer size: 131 Bytes
  • Size of remote file: 114 kB
assets/videos/0001/104.jpg ADDED

Git LFS Details

  • SHA256: 88dd37286877da2c01be63608ab8858493d66a405a9d5607a0085138a8eca55a
  • Pointer size: 131 Bytes
  • Size of remote file: 113 kB
assets/videos/0001/105.jpg ADDED

Git LFS Details

  • SHA256: 9b1464ba0752e9eba604b298b9d2d75d6d95a67a708d44eaf09b20975566d388
  • Pointer size: 131 Bytes
  • Size of remote file: 115 kB
assets/videos/0001/106.jpg ADDED

Git LFS Details

  • SHA256: b06813a94accb0f85a5fb870cfdc388103aa3994d4ec0f713fb7534ad1ccd9da
  • Pointer size: 131 Bytes
  • Size of remote file: 113 kB
assets/videos/0001/107.jpg ADDED

Git LFS Details

  • SHA256: 1ccd998fb51d68629f93129187631cb488e5b64006c5e811f28fd376e02394d2
  • Pointer size: 131 Bytes
  • Size of remote file: 114 kB
assets/videos/0001/108.jpg ADDED

Git LFS Details

  • SHA256: 1fbd78c48ea5d6fd5d76ce81b40799dd5bac11e580799fb25575c70c547ed471
  • Pointer size: 131 Bytes
  • Size of remote file: 114 kB
assets/videos/0001/109.jpg ADDED

Git LFS Details

  • SHA256: 2048d2d7a775be1b137712670ccdeb9ec99bc0ee5c9b9f63fc8d9d595a205a98
  • Pointer size: 131 Bytes
  • Size of remote file: 117 kB
assets/videos/0001/11.jpg ADDED

Git LFS Details

  • SHA256: 5bf579b61dd99d97a2d653a4dd84a6da4da49a5232ce37ec434f701ab6264f35
  • Pointer size: 131 Bytes
  • Size of remote file: 139 kB
assets/videos/0001/110.jpg ADDED

Git LFS Details

  • SHA256: 96c617b759eb41c6274b871e16f3a44bb3f923b8e04add8b99ff7e06631ef72e
  • Pointer size: 131 Bytes
  • Size of remote file: 115 kB
assets/videos/0001/111.jpg ADDED

Git LFS Details

  • SHA256: 3b4c19eeda86fc014760559ac712d2e968d65b726e298a232634ef5baa68d92b
  • Pointer size: 131 Bytes
  • Size of remote file: 115 kB
assets/videos/0001/112.jpg ADDED

Git LFS Details

  • SHA256: fd282a9a38bddbeab5029eccac21779bbfb507338be95832a69241652ad3186d
  • Pointer size: 131 Bytes
  • Size of remote file: 115 kB
assets/videos/0001/113.jpg ADDED

Git LFS Details

  • SHA256: d9a22daacb5d110f9fe9fe22c4c6c0da2cac23a5e4ab7855bfe488560e7fd658
  • Pointer size: 131 Bytes
  • Size of remote file: 116 kB
assets/videos/0001/114.jpg ADDED

Git LFS Details

  • SHA256: 4c0788c8eb42f497fa17298c550481340a58b43b963803d8150b6b23f44a8a83
  • Pointer size: 131 Bytes
  • Size of remote file: 114 kB
assets/videos/0001/115.jpg ADDED

Git LFS Details

  • SHA256: d0abf8b1efaadd40216d01aef2229b98551b4d21285e7d7ef8aeeb5dcb43fb2c
  • Pointer size: 131 Bytes
  • Size of remote file: 113 kB
assets/videos/0001/116.jpg ADDED

Git LFS Details

  • SHA256: 4dee6839ead2cd8fb090bc78b60734fe3f405c23c5135232fe406b35e64a6654
  • Pointer size: 131 Bytes
  • Size of remote file: 112 kB
assets/videos/0001/117.jpg ADDED

Git LFS Details

  • SHA256: 13b7d62ad016537bd97d0ffb1859949f6fd451a2fbbc61c4a85b4530b8ec26e5
  • Pointer size: 131 Bytes
  • Size of remote file: 112 kB
assets/videos/0001/118.jpg ADDED

Git LFS Details

  • SHA256: f6536d624c066f724cf3b4a0105468bb1ac07db693ed7bf9ff70a2b2b9e2c038
  • Pointer size: 131 Bytes
  • Size of remote file: 110 kB
assets/videos/0001/119.jpg ADDED

Git LFS Details

  • SHA256: e5bed2df4d3b61ba2a31dda705e3877f314292a1b6a758d87e544a122c862426
  • Pointer size: 131 Bytes
  • Size of remote file: 107 kB
assets/videos/0001/12.jpg ADDED

Git LFS Details

  • SHA256: 37e5c028a4d64cca094126cff67349a921364af492560d5b2263b8c7490806ac
  • Pointer size: 131 Bytes
  • Size of remote file: 137 kB
assets/videos/0001/120.jpg ADDED

Git LFS Details

  • SHA256: 552159698f89e7e61752ead392e31752cc1c4b63ed13e641e0d09dfaf9f9646d
  • Pointer size: 131 Bytes
  • Size of remote file: 108 kB
assets/videos/0001/121.jpg ADDED

Git LFS Details

  • SHA256: 766a0c1f45368d44af0de17c0587d97bac757210535b3b1636cceba64885fc11
  • Pointer size: 131 Bytes
  • Size of remote file: 106 kB
assets/videos/0001/122.jpg ADDED

Git LFS Details

  • SHA256: e96bce9ebea0bd1ac23767fed63c2e281fb24efcf562a932836fa4a425912b10
  • Pointer size: 131 Bytes
  • Size of remote file: 106 kB
assets/videos/0001/123.jpg ADDED

Git LFS Details

  • SHA256: ba3a3f66bc2e8e1a34ea1f90f5336611866376ce6442cf975630fa80c2dbfd4c
  • Pointer size: 131 Bytes
  • Size of remote file: 108 kB
assets/videos/0001/124.jpg ADDED

Git LFS Details

  • SHA256: caf7d9d7f8578e4ff1a30b63cb9601c660ddde63763677d1e2b7df30151ac58d
  • Pointer size: 131 Bytes
  • Size of remote file: 111 kB
assets/videos/0001/125.jpg ADDED

Git LFS Details

  • SHA256: 8b00b109dcd864ffd1506e4c1e0474b642c3b85d3b01359af6301e13d8f030a5
  • Pointer size: 131 Bytes
  • Size of remote file: 110 kB
assets/videos/0001/126.jpg ADDED

Git LFS Details

  • SHA256: e63278fd65842481a3b1aa15913e43726b1c4e1a80821263517bcc92f58c1f07
  • Pointer size: 131 Bytes
  • Size of remote file: 112 kB