Available Tools

Complete reference for all 22 MCP tools available through Adsumo's MCP server.

Video Generation

generate_ai_video

Generate an AI video using Sora 2, Veo 3.1, or Kling 2.6. Returns a generation_id to poll with get_generation.

ParameterTypeRequiredDescription
modelstringYessora-2, sora-2-pro, veo-3.1, veo-3.1-fast, or kling-2.6
promptstringYesText description of the video to generate
durationintegerYesDuration in seconds. Sora 2: 4, 8, 12, 16, 20. Veo 3.1: 4, 6, 8. Kling 2.6: 5, 10
aspect_ratiostringYesSora 2: 16:9, 9:16. Veo 3.1: 16:9, 9:16, auto. Kling 2.6: 16:9, 9:16, 1:1
resolutionstringNoVeo 3.1 only: 720p, 1080p, 4k (default 720p)
reference_image_urlstringNoURL of a reference image
hdbooleanNoHD output for Sora 2 (default false)
generate_audiobooleanNoGenerate audio track (Veo 3.1 default true, Kling 2.6 default false)
templatebooleanNoSave as a template (default false)
template_typestringNoTemplate category if saving as template
first_frame_image_urlstringNoVeo 3.1: URL for the first frame image
last_frame_image_urlstringNoVeo 3.1: URL for the last frame image
reference_image_urlsstring[]NoVeo 3.1: Array of reference image URLs

Example response:

JSON
{
  "generation_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "type": "ai-video",
  "status": "processing"
}

generate_talking_avatar

Generate a lip-sync avatar video from an existing voiceover. Call generate_voiceover first to get a voiceover_id.

ParameterTypeRequiredDescription
avatar_idstringYesID of the avatar to use
avatar_typestringYesplatform, custom, or product
voiceover_idstringYesUUID of a completed voiceover
lipsync_modelstringNolipsync-2.0 or heygen-avatar4 (default heygen-avatar4)
heygen_settings.talking_stylestringNostable or expressive
heygen_settings.resolutionstringNo720p or 1080p
heygen_settings.aspect_ratiostringNo9:16 or 16:9

Example response:

JSON
{
  "generation_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "type": "talking-avatar",
  "status": "processing"
}

generate_swap_avatar

Swap a face onto an existing video. Provide either an image_url or avatar_id + avatar_type.

ParameterTypeRequiredDescription
video_urlstringYesURL of the source video
modestringYesstandard or pro
durationnumberYesVideo duration in seconds (1--30)
widthintegerYesVideo width in pixels
heightintegerYesVideo height in pixels
image_urlstringNoURL of the face image (alternative to avatar_id)
avatar_idstringNoAvatar ID (use with avatar_type)
avatar_typestringNoplatform, custom, or product

Example response:

JSON
{
  "generation_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
  "type": "swap-avatar",
  "status": "processing"
}

localize_video

Translate and dub a video into another language.

ParameterTypeRequiredDescription
video_urlstringYesURL of the source video
modestringYesspeed or precision
output_languagestringYesTarget language (e.g., es, fr, de)
durationnumberYesVideo duration in seconds (1--120)
widthintegerYesVideo width in pixels
heightintegerYesVideo height in pixels
translate_audio_onlybooleanNoOnly translate audio, keep original video
speaker_numintegerNoNumber of speakers in the video
enable_dynamic_durationbooleanNoAllow output duration to differ from input

Example response:

JSON
{
  "generation_id": "d4e5f6a7-b8c9-0123-defa-234567890123",
  "type": "localize",
  "status": "processing"
}

edit_video

Apply AI edits to a video (captions, effects). Provide either a video_url or a generation_id of a completed video.

ParameterTypeRequiredDescription
template_idstringYesCaption/editing template ID
video_urlstringNoURL of the video to edit (alternative to generation_id)
generation_idstringNoUUID of a completed AI video generation
languagestringNoLanguage code (default en)
auto_approvebooleanNoAuto-approve edits (default true)

Example response:

JSON
{
  "generation_id": "e5f6a7b8-c9d0-1234-efab-345678901234",
  "type": "video-edit",
  "status": "processing",
  "credits_used": 5
}

Image Generation

generate_image

Generate product image ads from a text prompt.

ParameterTypeRequiredDescription
promptstringYesText description of the image to generate
modelstringYesfast or pro
aspect_ratiostringYes21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, or 9:16
quantityintegerNoNumber of images (1--8, default 1)
resolutionstringNo1k, 2k, or 4k (default 1k)

Example response:

JSON
{
  "generation_id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
  "type": "text-to-image",
  "status": "processing",
  "quantity": 4,
  "credits_used": 8
}

edit_image

Edit or remix images using reference images and a text prompt.

ParameterTypeRequiredDescription
promptstringYesText description for the edit
modelstringYesfast or pro
aspect_ratiostringYesSame options as generate_image, plus auto
reference_image_urlsstring[]YesArray of reference image URLs (at least 1)
quantityintegerNoNumber of images (1--8, default 1)
resolutionstringNo1k, 2k, or 4k (default 1k)

Example response:

JSON
{
  "generation_id": "a7b8c9d0-e1f2-3456-abcd-567890123456",
  "type": "image-edit",
  "status": "processing",
  "quantity": 2,
  "credits_used": 4
}

generate_product_shots

Generate styled product photography from an existing product.

ParameterTypeRequiredDescription
product_idstringYesUUID of the product
style_idstringYesStyle preset ID
modelstringYesfast or pro
aspect_ratiostringYesSame options as generate_image
quantityintegerNoNumber of images (1--8, default 1)
resolutionstringNo1k, 2k, or 4k (default 1k)
additional_promptstringNoExtra instructions for the generation

Example response:

JSON
{
  "generation_id": "b8c9d0e1-f2a3-4567-bcde-678901234567",
  "type": "product-shots",
  "status": "processing",
  "quantity": 4,
  "credits_used": 8
}

Voiceovers

list_voices

List available voices for voiceover generation. Use the returned voice id when calling generate_voiceover.

ParameterTypeRequiredDescription
genderstringNomale, female, or other
age_groupstringNokid, young_adult, adult, or senior
accentstringNofrench, american, british, danish, swedish, german, norwegian, spanish, or neutral
stylestringNoprofessional, casual, energetic, whisper, or speaker
limitintegerNoItems per page (1--100, default 20)
offsetintegerNoItems to skip (default 0)

Example response:

JSON
{
  "data": [
    {
      "id": "voice_abc123",
      "name": "Sarah",
      "gender": "female",
      "age_group": "adult",
      "accent": "american",
      "style": "professional",
      "preview_audio_url": "https://cdn.adsumo.ai/voices/sarah-preview.mp3"
    }
  ],
  "pagination": { "total": 45, "limit": 20, "offset": 0 }
}

generate_voiceover

Generate a voiceover from text using ElevenLabs. Returns synchronously with the voiceover ID and audio URL. Use before generate_talking_avatar.

ParameterTypeRequiredDescription
textstringYesThe text to speak
voice_idstringYesVoice ID from list_voices
modelstringNoElevenLabs model (eleven_multilingual_v2 or eleven_v3)
voice_settings.speednumberNoSpeech speed
voice_settings.stabilitynumberNoVoice stability
voice_settings.similaritynumberNoVoice similarity boost
voice_settings.style_exaggerationnumberNoStyle exaggeration
voice_settings.languagestringNoLanguage code

Example response:

JSON
{
  "id": "c9d0e1f2-a3b4-5678-cdef-789012345678",
  "status": "completed",
  "duration": 4.5,
  "audio_url": "https://cdn.adsumo.ai/voiceovers/..."
}

speech_to_speech

Convert audio to a different voice (speech-to-speech). Provide an audio URL and a target voice ID.

ParameterTypeRequiredDescription
audio_urlstringYesURL of the source audio
voice_idstringYesTarget voice ID from list_voices
durationnumberNoAudio duration in seconds
voice_settings.speednumberNoSpeech speed
voice_settings.stabilitynumberNoVoice stability
voice_settings.similaritynumberNoVoice similarity boost
voice_settings.style_exaggerationnumberNoStyle exaggeration
voice_settings.languagestringNoLanguage code

Example response:

JSON
{
  "id": "d0e1f2a3-b4c5-6789-defa-890123456789",
  "status": "completed",
  "duration": 6.2,
  "audio_url": "https://cdn.adsumo.ai/voiceovers/..."
}

Ad Library

scrape_ad_library

Start scraping a brand's ads from the Meta Ad Library. Provide a Meta Ad Library URL. Costs credits.

ParameterTypeRequiredDescription
urlstringYesMeta Ad Library URL for the brand

Example response:

JSON
{
  "job_id": "e1f2a3b4-c5d6-7890-efab-901234567890",
  "status": "processing",
  "brand_id": null
}

list_brands

Browse all brands scraped from the Meta Ad Library. Filter by name or category.

ParameterTypeRequiredDescription
namestringNoFilter by brand name (case-insensitive partial match)
categorystringNoFilter by page category (case-insensitive partial match)
limitintegerNoItems per page (1--100, default 20)
offsetintegerNoItems to skip (default 0)

Example response:

JSON
{
  "data": [
    {
      "id": "f2a3b4c5-d6e7-8901-fabc-012345678901",
      "name": "Nike",
      "page_url": "https://www.facebook.com/nike",
      "page_categories": "Clothing Brand",
      "page_like_count": 35000000,
      "created_at": "2026-03-15T10:00:00Z"
    }
  ],
  "pagination": { "total": 120, "limit": 20, "offset": 0 }
}

list_brand_ads

List ads for a specific brand from the Ad Library.

ParameterTypeRequiredDescription
brand_idstringYesUUID of the brand
limitintegerNoItems per page (1--100, default 20)
offsetintegerNoItems to skip (default 0)

Example response:

JSON
{
  "data": [
    {
      "id": "a3b4c5d6-e7f8-9012-abcd-123456789012",
      "ad_archive_id": "123456789",
      "brand_id": "f2a3b4c5-d6e7-8901-fabc-012345678901",
      "is_active": true,
      "start_date": "2026-03-01",
      "body_text": "Just Do It.",
      "display_format": "video",
      "publisher_platforms": ["facebook", "instagram"]
    }
  ],
  "pagination": { "total": 85, "limit": 20, "offset": 0 }
}

get_ad

Get full details of a single ad from the Ad Library.

ParameterTypeRequiredDescription
ad_idstringYesUUID of the ad

Example response:

JSON
{
  "id": "a3b4c5d6-e7f8-9012-abcd-123456789012",
  "ad_archive_id": "123456789",
  "brand_id": "f2a3b4c5-d6e7-8901-fabc-012345678901",
  "is_active": true,
  "start_date": "2026-03-01",
  "body_text": "Just Do It.",
  "title": "Nike Spring Collection",
  "cta_text": "Shop Now",
  "cta_type": "SHOP_NOW",
  "link_url": "https://nike.com/spring",
  "display_format": "video",
  "publisher_platforms": ["facebook", "instagram"],
  "media": [
    {
      "type": "video",
      "r2_url": "https://cdn.adsumo.ai/ads/..."
    }
  ]
}

Resources

list_avatars

List available platform avatars for video generation.

ParameterTypeRequiredDescription
limitintegerNoItems per page (1--100, default 20)
offsetintegerNoItems to skip (default 0)

Example response:

JSON
{
  "data": [
    {
      "id": "avatar_001",
      "name": "Emma",
      "thumbnail_url": "https://cdn.adsumo.ai/avatars/emma.jpg",
      "gender": "female",
      "age_group": "adult",
      "avatar_type": "realistic"
    }
  ],
  "pagination": { "total": 30, "limit": 20, "offset": 0 }
}

list_custom_avatars

List your team's custom avatars.

ParameterTypeRequiredDescription
limitintegerNoItems per page (1--100, default 20)
offsetintegerNoItems to skip (default 0)

Example response:

JSON
{
  "data": [
    {
      "id": "b4c5d6e7-f8a9-0123-bcde-234567890123",
      "name": "Brand Spokesperson",
      "description": "Company spokesperson photo",
      "thumbnail_url": "https://cdn.adsumo.ai/custom-avatars/...",
      "created_at": "2026-03-10T08:00:00Z"
    }
  ],
  "pagination": { "total": 3, "limit": 20, "offset": 0 }
}

create_custom_avatar

Create a custom avatar from a photo URL.

ParameterTypeRequiredDescription
namestringYesAvatar name (1--50 characters)
image_urlstringYesURL of the face photo
descriptionstringNoOptional description

Example response:

JSON
{
  "id": "c5d6e7f8-a9b0-1234-cdef-345678901234",
  "name": "Brand Spokesperson",
  "status": "completed"
}

list_products

List your team's products.

ParameterTypeRequiredDescription
limitintegerNoItems per page (1--100, default 20)
offsetintegerNoItems to skip (default 0)

Example response:

JSON
{
  "data": [
    {
      "id": "d6e7f8a9-b0c1-2345-defa-456789012345",
      "name": "Premium Coffee Mug",
      "description": "Ceramic mug with gold trim",
      "category": "Kitchenware",
      "image_url": "https://cdn.adsumo.ai/products/...",
      "price": 29.99,
      "currency": "USD"
    }
  ],
  "pagination": { "total": 12, "limit": 20, "offset": 0 }
}

create_product

Create a new product in your team's catalog.

ParameterTypeRequiredDescription
namestringYesProduct name
descriptionstringYesProduct description
categorystringYesProduct category
image_urlstringYesURL of the product image
pricenumberNoProduct price
currencystringNoCurrency code (default USD if price is set)
linkstringNoProduct page URL

Example response:

JSON
{
  "id": "e7f8a9b0-c1d2-3456-efab-567890123456",
  "name": "Premium Coffee Mug",
  "status": "completed"
}

get_generation

Poll the status of an async generation (video or image). Use after starting a generation to check if it has completed.

ParameterTypeRequiredDescription
generation_idstringYesUUID of the generation

Example response (completed AI video):

JSON
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "type": "ai-video",
  "status": "completed",
  "result_url": "https://cdn.adsumo.ai/videos/...",
  "error_message": null,
  "created_at": "2026-03-15T12:00:00Z",
  "updated_at": "2026-03-15T12:02:30Z",
  "details": {
    "prompt": "Product showcase with dynamic lighting",
    "model": "sora-2",
    "duration": 8,
    "aspect_ratio": "16:9"
  }
}

Example response (image batch):

JSON
{
  "id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
  "type": "image-batch",
  "status": "completed",
  "images": [
    {
      "id": "img-001",
      "status": "completed",
      "result_url": "https://cdn.adsumo.ai/images/...",
      "image_index": 0
    }
  ],
  "credits_used": 4,
  "details": {
    "prompt": "Coffee mug on minimalist desk",
    "mode": "text-to-image",
    "model": "pro",
    "quantity": 4
  }
}

get_credits

Check your team's remaining credits.

No parameters required.

Example response:

JSON
{
  "credits_used": 145,
  "credits_limit": 300,
  "credits_remaining": 155
}