Videos & Chunks
Videos and chunks power DealDome's knowledge base, used primarily by the Elisa agent. Videos are ingested and split into searchable chunks — each chunk contains a text segment with timestamps and an embedding vector for semantic search. When you ask Elisa a question, she searches these chunks to find relevant knowledge from your video library.
Chunks are created automatically when a video is processed. You can search and delete chunks, but creation is handled by the ingestion pipeline.
The video model
Each video represents a piece of content that has been ingested into the knowledge base.
Properties
- Name
id- Type
- integer
- Description
Unique identifier for the video.
- Name
title- Type
- string
- Description
The title of the video.
- Name
url- Type
- string
- Description
The original URL of the video.
- Name
duration- Type
- number
- Description
Duration of the video in seconds.
- Name
created_at- Type
- timestamp
- Description
Timestamp of when the video was ingested.
The chunk model
Chunks are the searchable segments of a video's transcript, each with timing information and an embedding for semantic search.
Properties
- Name
id- Type
- integer
- Description
Unique identifier for the chunk.
- Name
video_id- Type
- integer
- Description
The ID of the video this chunk belongs to.
- Name
content- Type
- string
- Description
The text content of the chunk (transcript segment).
- Name
start_time- Type
- number
- Description
Start time of the chunk in the video, in seconds.
- Name
end_time- Type
- number
- Description
End time of the chunk in the video, in seconds.
- Name
embedding- Type
- vector
- Description
The embedding vector used for semantic search. Not returned by default — pass
include=embeddingto include it.
- Name
created_at- Type
- timestamp
- Description
Timestamp of when the chunk was created.
List videos
This endpoint returns all videos in the knowledge base. Each video includes metadata but not the chunks — use the chunks endpoint to search through content.
Optional attributes
- Name
limit- Type
- integer
- Description
Limit the number of videos returned.
- Name
offset- Type
- integer
- Description
Offset for pagination.
Request
curl -G https://api.dealdome.eu/videos \
-H "Authorization: Bearer {token}" \
-d limit=10
Response
{
"data": [
{
"id": 1,
"title": "Meta Ads Scaling Strategy 2026",
"url": "https://www.youtube.com/watch?v=abc123",
"duration": 1842.5,
"created_at": "2026-03-15T14:00:00Z"
},
{
"id": 2,
"title": "Shopify Store Optimization Masterclass",
"url": "https://www.youtube.com/watch?v=def456",
"duration": 3610.0,
"created_at": "2026-03-20T10:30:00Z"
},
{
"id": 3,
"title": "Dropshipping Product Research Deep Dive",
"url": "https://www.youtube.com/watch?v=ghi789",
"duration": 2415.3,
"created_at": "2026-04-01T09:00:00Z"
}
]
}
Delete a video
This endpoint permanently deletes a video and all its associated chunks from the knowledge base. Elisa will no longer be able to reference content from this video.
Request
curl -X DELETE https://api.dealdome.eu/videos/1 \
-H "Authorization: Bearer {token}"
List chunks
This endpoint returns chunks from the knowledge base with support for pagination and semantic search. Pass a search query to find chunks most relevant to your question — results are ranked by embedding similarity.
Optional attributes
- Name
search- Type
- string
- Description
A search query to find semantically relevant chunks. Results are ranked by similarity.
- Name
video_id- Type
- integer
- Description
Filter chunks by video ID.
- Name
include- Type
- string
- Description
Set to
embeddingto include the embedding vector in the response.
- Name
limit- Type
- integer
- Description
Limit the number of chunks returned. Defaults to 20.
- Name
offset- Type
- integer
- Description
Offset for pagination.
Request
curl -G https://api.dealdome.eu/chunks \
-H "Authorization: Bearer {token}" \
--data-urlencode "search=how to scale meta ads" \
-d limit=5
Response
{
"data": [
{
"id": 47,
"video_id": 1,
"content": "When scaling Meta ads, the key is to increase budget gradually — no more than 20% every 48 hours. If you spike the budget too fast, the algorithm resets its learning phase and your CPA shoots up.",
"start_time": 342.5,
"end_time": 368.2,
"created_at": "2026-03-15T14:05:00Z"
},
{
"id": 52,
"video_id": 1,
"content": "Once you hit a stable 3x ROAS at your current budget, that's your signal to scale. Duplicate the winning ad set into a new campaign with a higher budget rather than editing the original.",
"start_time": 520.0,
"end_time": 545.8,
"created_at": "2026-03-15T14:05:00Z"
},
{
"id": 103,
"video_id": 3,
"content": "For horizontal scaling, create multiple ad sets targeting different interests but using the same winning creative. This lets you find new audiences without risking your existing performers.",
"start_time": 890.3,
"end_time": 912.1,
"created_at": "2026-04-01T09:10:00Z"
}
]
}
Delete a chunk
This endpoint permanently deletes a single chunk from the knowledge base. Use this to remove specific content that is outdated or inaccurate without deleting the entire video.
Request
curl -X DELETE https://api.dealdome.eu/chunks/47 \
-H "Authorization: Bearer {token}"