Quickstart
Copy this path when you want the shortest working integration: create a project, upload one video to Nandemo, retrieve understanding, then ask Dekiru through chat.
Setup
Project endpoints use x-api-key. Preview deployments may also need the Vercel bypass header from the Zonic team.
The examples use a shared base URL and JSON headers. Uploading video bytes is the exception: signed upload URLs may return their own headers, and those headers should be sent exactly as provided.
API_KEY="<your-api-key>"BASE_URL="https://zonic.tech/api"AUTH=(-H "x-api-key: $API_KEY" -H "Content-Type: application/json")
Examples below use curl and browser or Node-style JavaScript. Any HTTP client works as long as it preserves signed upload headers exactly.
Create Project
A project groups everything that should be understood together. Put footage that belongs to the same editing or review workflow in one project so search, people detection, chat, and sequence generation can use the full shared context.
PID=$(curl -s -X POST "$BASE_URL/projects" \"${AUTH[@]}" \-d '{"title":"Platform analysis demo"}' | jq -r '.project.pid')
Register And Upload
Register first. Accepted videos return signed upload URLs and upload headers. Send those headers exactly when you PUT the file bytes.
REGISTER=$(curl -s -X POST "$BASE_URL/projects/$PID/videos" \"${AUTH[@]}" \-d '{"videos":[{"name":"interview.mp4","duration":183.4}]}')UPLOAD_URL=$(echo "$REGISTER" | jq -r '.validation[0].url')curl -X PUT "$UPLOAD_URL" \-H "Content-Type: application/octet-stream" \--upload-file ./interview.mp4
Analyze
Cloud uploads usually trigger analysis automatically. Call this endpoint to explicitly run or rerun analysis.
Full analysis builds the source's Nandemo understanding. The pipeline detects scenes, transcribes speech when audio exists, describes visual content, extracts metadata, indexes text and visual descriptions for search, and updates people or speaker records when those jobs are available.
VID=$(python3 - <<'PY'from urllib.parse import quoteprint(quote("interview.mp4", safe=""))PY)curl -X POST "$BASE_URL/projects/$PID/videos/$VID/analysis" \"${AUTH[@]}" \-d '{"context_hint":"Interview from a product launch event"}'
Read Outputs
Understanding is the best first read after analysis finishes. It gives your integration the timeline-level structure needed to render scene cards, show searchable moments, or pass evidence into your own workflow.
curl "$BASE_URL/projects/$PID/understanding" \-H "x-api-key: $API_KEY" | jq '.data["interview.mp4"][0]'
Ask Dekiru
Chat is the user-facing surface for both footage QA/VQA and editing requests. Dekiru can fetch the relevant Nandemo evidence, answer a question, or produce an edit sequence from the same endpoint.
curl -N -X POST "$BASE_URL/projects/$PID/chat" \"${AUTH[@]}" \-d '{"message":"Which clips show a close-up product demo?"}'