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.

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=embedding to include it.

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp of when the chunk was created.


GET/videos

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

GET
/videos
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/videos/:id

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

DELETE
/videos/1
curl -X DELETE https://api.dealdome.eu/videos/1 \
  -H "Authorization: Bearer {token}"

GET/chunks

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 embedding to 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

GET
/chunks
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/chunks/:id

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

DELETE
/chunks/47
curl -X DELETE https://api.dealdome.eu/chunks/47 \
  -H "Authorization: Bearer {token}"

Was this page helpful?