Developer guide
How can I extract hooks and calls to action from short-form videos?
Ask mamitsu what a short video opens with and what it asks viewers to do. You get the opening hook and every call to action as JSON, from what the video says and shows.
Start with a video
Ask what the video opens with and what it asks for
The hook is the first line or image a viewer meets, and calls to action are spread across the video: said out loud, written on screen or tucked into the caption. mamitsu watches the video, listens to the audio and reads the caption, so it finds them wherever they are.
Send a public short from TikTok, Instagram, YouTube or X with a prompt that asks for the opening hook and each call to action.
: "${XTRAKT_USER_API_KEY:?Set XTRAKT_USER_API_KEY to your mamitsu API key}"
curl https://usemamitsu.com/api/v1/extract \
-H "Authorization: Bearer $XTRAKT_USER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.youtube.com/shorts/PJgY3gVIJeE",
"prompt": "What does this short video open with to grab attention, and which calls to action does it contain? Give the opening hook as it is said or shown, and each call to action with what it asks the viewer to do."
}'A real example
The hook and four calls to action from a YouTube Short
This is the full response for a YouTube Short about growing an email list. The opening hook comes back word for word: “What if you could keep growing your audience, even if TikTok disappeared tomorrow?”
mamitsu also returns four calls to action, from downloading a free guide to subscribing on YouTube. The request has no schema, so mamitsu named the fields itself.
{
"extraction_id": "ext_9d7c1ba1-ab4e-418e-888a-761cd440d201",
"data": {
"opening_hook": "What if you could keep growing your audience, even if TikTok disappeared tomorrow?",
"calls_to_action": [
{
"action": "Download my free guide",
"context": "linked in my bio"
},
{
"action": "Check out the video",
"context": "linked here for 17 more tips"
},
{
"action": "Watch Full Video on YouTube",
"context": "@HubSpotMarketing"
},
{
"action": "Subscribe",
"context": "on YouTube"
}
]
},
"source": {
"provider": "youtube",
"url": "https://www.youtube.com/shorts/PJgY3gVIJeE"
}
}Fixed fields
Add a schema to compare hundreds of videos
When you collect hooks from many videos, a schema gives every result the same fields. This one also asks what form the hook takes and where each call to action appears, which makes the results easy to group and filter.
Run on the same Short, it labels the hook a question and notes that two calls to action are spoken and one is written on screen.
Store the results with the video links and you have a swipe file of openings and asks from the creators you follow, ready for writers and editors to learn from.
: "${XTRAKT_USER_API_KEY:?Set XTRAKT_USER_API_KEY to your mamitsu API key}"
curl https://usemamitsu.com/api/v1/extract \
-H "Authorization: Bearer $XTRAKT_USER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.youtube.com/shorts/PJgY3gVIJeE",
"prompt": "What does this short video open with to grab attention, and which calls to action does it contain? Give the opening hook as it is said or shown, and each call to action with what it asks the viewer to do.",
"schema": {
"type": "object",
"properties": {
"opening_hook": {
"type": "string"
},
"hook_format": {
"type": "string",
"enum": [
"question",
"bold claim",
"promise",
"story",
"demonstration",
"other"
]
},
"calls_to_action": {
"type": "array",
"items": {
"type": "object",
"properties": {
"action": {
"type": "string"
},
"where": {
"type": "string",
"enum": [
"spoken",
"on screen",
"caption"
]
}
},
"required": [
"action",
"where"
]
}
}
},
"required": [
"opening_hook",
"hook_format",
"calls_to_action"
]
}
}'{
"extraction_id": "ext_6cdc86e5-fbda-48de-94dd-c2a524de9f49",
"data": {
"opening_hook": "What if you could keep growing your audience even if TikTok disappeared tomorrow?",
"hook_format": "question",
"calls_to_action": [
{
"action": "download my free guide linked in my bio",
"where": "spoken"
},
{
"action": "check out the video linked here for 17 more tips",
"where": "spoken"
},
{
"action": "Watch Full Video on YouTube @HubSpotMarketing",
"where": "on screen"
}
]
},
"source": {
"provider": "youtube",
"url": "https://www.youtube.com/shorts/PJgY3gVIJeE"
}
}From an AI client
Study a creator with your agent
Connect an AI client to the mamitsu MCP server and share a few links. The agent asks mamitsu for the hook and calls to action of each video, then compares them for you in the conversation.
Related guides