add_tiktok_ad

TikTok Ads Write

Add a new ad to an existing TikTok ad group

Endpoint

POST https://api.adspirer.ai/api/v1/tools/add_tiktok_ad/execute

Headers

Description

Add a new ad to an existing TikTok ad group. Use this when you need to add additional ads (creatives) to an ad group that was already created. Supports all ad formats: - SINGLE_IMAGE: Provide image_urls (public HTTPS URLs — auto-uploaded) OR image_ids (pre-uploaded TikTok IDs) - SINGLE_VIDEO: Provide video_id (TikTok video ID from creative library) - Spark Ads: Boost organic TikTok posts (requires tiktok_item_id + identity_type=TT_USER) - Carousel: Multi-card ads (first call create_tiktok_carousel_card to get card_id, then provide card_id + card_type here) Identity (identity_id) is auto-resolved — you do NOT need to provide it unless using Spark Ads. Images are auto-uploaded from URLs — you do NOT need to call upload_tiktok_images first. This is useful for: - Testing different creatives in the same ad group - Adding new ad variations without creating a new campaign - A/B testing ad copy, images, or CTAs Required: adgroup_id, ad_text, landing_page_url. For image ads: provide image_urls (easiest) or image_ids. For video ads: provide video_id. For Spark Ads: provide tiktok_item_id and set identity_type to TT_USER.

Request body

All tool arguments are wrapped in an arguments object.

FieldTypeDescription
adgroup_idstring requiredExisting TikTok ad group ID to add the ad to
ad_textstring requiredAd text (1-100 characters).
landing_page_urlstring requiredLanding page URL (must be HTTPS).
ad_namestring optionalAd name. Auto-generated if not provided.
ad_formatstring optionalAd format: SINGLE_IMAGE, SINGLE_VIDEO. Default: SINGLE_IMAGE. default: "SINGLE_IMAGE"
display_namestring optionalBrand name (max 40 chars).
call_to_actionstring optionalCTA button: LEARN_MORE, SHOP_NOW, SIGN_UP, DOWNLOAD, CONTACT_US, APPLY_NOW, etc.
image_idsarray optionalTikTok image IDs from upload_tiktok_images (for SINGLE_IMAGE).
image_urlsarray optionalPublic image URLs (HTTPS) — auto-uploaded to TikTok. Use this instead of image_ids for convenience.
video_idstring optionalTikTok video ID (for SINGLE_VIDEO format).
identity_idstring optionalAdvertiser identity ID. Auto-resolved if not provided.
identity_typestring optionalIdentity type: CUSTOMIZED_USER, BC_AUTH_TT, TT_USER. Auto-resolved if not provided.
tiktok_item_idstring optionalTikTok organic post ID for Spark Ads (boost existing TikTok posts as ads).
card_idstring optionalCarousel card ID.
card_typestring optionalCard type: IMAGE or PRODUCT.
advertiser_idstring optionalTikTok advertiser ID (optional).

Example request

{
  "arguments": {
    "adgroup_id": "string",
    "ad_text": "string",
    "landing_page_url": "https://example.com",
    "ad_name": "string",
    "ad_format": "SINGLE_IMAGE",
    "display_name": "string",
    "call_to_action": "string",
    "image_ids": [
      "string"
    ],
    "image_urls": [
      "string"
    ]
  }
}

Example responses

200 — Success

{
  "success": true,
  "data": {
    "text": "(tool-specific textual output for add_tiktok_ad)",
    "quota": {
      "used": 42,
      "limit": 150,
      "tier": "plus",
      "period_end": "2026-05-01"
    }
  },
  "tool": "add_tiktok_ad"
}

400 — Tool-level error (bad arguments / multi-account selection)

{
  "success": false,
  "error": "You have 25 meta_ads accounts connected. Please specify which account to use by passing the ad_account_id parameter:\n  - Acme Holdings (ad_account_id=\"act_123456789\")\n  - Acme EU (ad_account_id=\"act_987654321\")",
  "is_error": true,
  "tool": "add_tiktok_ad"
}

402 — Quota exhausted

{
  "success": false,
  "error": "\ud83d\udea8 Monthly limit reached (150/150 tool calls on Plus tier).\nUpgrade to Pro at https://adspirer.ai to keep building.",
  "is_error": true,
  "tool": "add_tiktok_ad",
  "quota": {
    "used": 150,
    "limit": 150,
    "tier": "plus",
    "period_end": "2026-05-01",
    "upgrade_url": "https://adspirer.ai"
  }
}

Try it live


Adspirer REST API — get an API key at adspirer.ai/keys · adspirer.ai