# Developer Platform

<h2 align="center"><mark style="color:$primary;">Hafnia Hackthon 2025</mark></h2>

<p align="center">Welcome to your team’s new developer platform</p>

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td>Video understanding</td><td></td><td><a href="https://images.unsplash.com/photo-1528312635006-8ea0bc49ec63?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHwyfHxjY3R2fGVufDB8fHx8MTc2MDk1NjExMnww&#x26;ixlib=rb-4.1.0&#x26;q=85">https://images.unsplash.com/photo-1528312635006-8ea0bc49ec63?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHwyfHxjY3R2fGVufDB8fHx8MTc2MDk1NjExMnww&#x26;ixlib=rb-4.1.0&#x26;q=85</a></td></tr><tr><td>Real-time analytics</td><td></td><td><a href="https://images.unsplash.com/photo-1526628953301-3e589a6a8b74?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHw1fHxhbmFseXRpY3N8ZW58MHx8fHwxNzYwOTU2MjI3fDA&#x26;ixlib=rb-4.1.0&#x26;q=85">https://images.unsplash.com/photo-1526628953301-3e589a6a8b74?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHw1fHxhbmFseXRpY3N8ZW58MHx8fHwxNzYwOTU2MjI3fDA&#x26;ixlib=rb-4.1.0&#x26;q=85</a></td></tr></tbody></table>

{% embed url="<https://github.com/8bitdev0x8/Hafnia-Hackthon-2025>" %}

{% columns %}
{% column %}

### Get started in 5 minutes

Setting up your first API call should be the easiest part of getting started. With clear endpoints, copy-paste-ready examples, and quick authentication, you’ll be up and running in minutes—not hours.

No guesswork, no complexity—just your first successful call, fast.

<a href="https://beehiiv-publication-files.s3.amazonaws.com/uploads/downloadables/9eb89f8a-6dad-436a-9544-156dfa4fe827/6db9a933-f3d7-47d2-a492-42e5021b50c0/Hackathon_Instructions.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=AKIAQCMHTQSE2JGAGXHJ%2F20251015%2Fus-east-1%2Fs3%2Faws4_request&#x26;X-Amz-Date=20251015T162242Z&#x26;X-Amz-Expires=604800&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=f61832a40e81a7884d954911dafb4b2fcdb5a9680b6b9d9df8a817607fd58b09" class="button primary" data-icon="rocket-launch">Get started</a> <a href="https://template.gitbook.com/space-api-reference" class="button secondary" data-icon="terminal">API reference</a>
{% endcolumn %}

{% column %}
{% code title="index.js" overflow="wrap" %}

```python
import os, json, requests
BASE = "https://api.mdi.milestonesys.com/api/v1"
AUTH = {"Authorization": "ApiKey <KEY>:<SECRET>"}
# 1) Upload asset
with open("clip.mp4","rb") as f:
 up = requests.post(f"{BASE}/assets", headers=AUTH, files={"file":
f}, timeout=120)
asset_id = up.json()["asset_id"]
# 2) Chat completion
payload = {
 "messages": [
 {"role":"system","content":[{"type":"text","text":"Return
strict JSON with time-codes."}]},
 {"role":"user","content":[
 {"type":"text","text":"Create a short situation report."},
 {"type":"asset_id","asset_id":asset_id}
 ]}
 ]
}
resp = requests.post(f"{BASE}/chat/completions",
 headers={**AUTH,"Content-Type":"application/json"},
 data=json.dumps(payload), timeout=180)
print(resp.json())
# 3) (Optional) Delete asset
requests.delete(f"{BASE}/assets/{asset_id}", headers=AUTH, timeout=60)

```

{% endcode %}
{% endcolumn %}
{% endcolumns %}

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><h4><i class="fa-discord">:discord:</i></h4></td><td><strong>Discord community</strong></td><td>Join our Discord community to post questions, get help, and share resources with over 3,000 like-minded developers.</td><td><a href="https://www.gitbook.com/" class="button secondary">Join Discord</a></td><td></td></tr><tr><td><h4><i class="fa-github">:github:</i></h4></td><td><strong>GitHub</strong></td><td>Our product is 100% open source and built by developers just like you. Head to our GitHub repository to learn how to submit your first PR.</td><td><a href="https://github.com/8bitdev0x8/Hafnia-Hackthon-2025/pulls" class="button secondary">Submit a PR</a></td><td><a href="https://images.unsplash.com/photo-1556075798-4825dfaaf498?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHwxfHxnaXR8ZW58MHx8fHwxNzYwOTU3NzEyfDA&#x26;ixlib=rb-4.1.0&#x26;q=85">https://images.unsplash.com/photo-1556075798-4825dfaaf498?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHwxfHxnaXR8ZW58MHx8fHwxNzYwOTU3NzEyfDA&#x26;ixlib=rb-4.1.0&#x26;q=85</a></td></tr></tbody></table>
