check_video_ready
ChatGPTRead-only readiness check for a generated video: returns status only — no card, no generation, no media URLs. Safe to call repeatedly.
check_widget_status
ChatGPTInternal widget support: single long-poll a card uses to watch its pending sketch and video signals. Invoked automatically by cards; not intended for assistant use.
connect_tiktok_identity
ChatGPTList and connect the organic TikTok account (identity) the ad publishes as: renders the identity picker, or a QR code / authorization link when a new account must be connected. advertiser_id may be omitted only when exactly one authorized account exists. Does not publish anything.
create_smartplus_campaign_draft
ChatGPTCreate a disabled Smart+ draft (Campaign, Ad Group, Ad — all operation_status=DISABLE) from an approved preview payload, resolving identity and CTA and uploading the video and cover image as needed. Recoverable: a partial failure returns artifacts and resume_hint so a retry reuses existing resources instead of duplicating them. Call once per draft; re-call only to retry a failure or apply a user edit.
generate_storyboard_scene_images
ChatGPTGenerate optional sketch-style storyboard concept images from scenes and confirmed product reference images. Sketches support storyboard review only and never feed video generation. Normally invoked by the storyboard card itself.
generate_video_and_wait
ChatGPTSubmit a TikTok ad video generation job and render the video_status card, which polls the roughly 10-minute render to completion. Idempotent per session and arguments; force_new_generation=true starts a genuinely new take on the user's explicit request. Render settings ride video_setting: pass what the user asked for (length 5s, 10s or 15s, spoken language, music off, subtitles on) — the same choices as the storyboard's creative_brief — and omit the rest for defaults. user_input_text must be at most 4000 characters.
get_authorized_ad_accounts
ChatGPTList the TikTok Ads advertiser accounts the signed-in user has authorized this app to use. Read-only lookup that returns each account's advertiser_id and advertiser_name; use it to resolve the advertiser_id passed to campaign preview, draft, and status tools. Changes nothing.
present_storyboard
ChatGPTRender drafted storyboard scenes on the storyboard_preview card and return the render settings (video_setting from the creative_brief) and reference images to carry into generate_video_and_wait after approval. The storyboard carries one style and its characters (the people the viewer must recognize, at most 4); each scene a title, summary, shot, action, setting, audio, optional dialog, and the characters on screen. Each reference image carries a displayName and source, and a scene may anchor phrases of its text to the images it shows. The storyboard exists only as this card: call it for the first draft and again for every change (a revised scene, a new or swapped image, a new direction) — a storyboard written in chat is not one the user can approve. Does not generate a video.
preview_smartplus_campaign
ChatGPTBuild and render a local Smart+ campaign plan preview (campaign_settings card) from product, creative, budget, and targeting inputs, applying the server's Smart+ defaults. Creates no TikTok entities. The video source can be a video_id, a video_task_id (the video card's generate_id), or a downloadable video_url.
publish_smartplus_campaign
ChatGPTEnable a previously created disabled Smart+ draft, activating live ad delivery. Requires the user's explicit publish confirmation. Call once per campaign.
select_tiktok_advertiser
ChatGPTList the TikTok Ads advertiser accounts the user has authorized and render a picker card; the user confirms the account on it, even when there is only one. Call it at the moment something consumes the advertiser account (for example connecting the TikTok identity, or creating the campaign draft), when the user asks about their accounts, or when the user agrees to settle it ahead of time — never uninvited. Never invent or pass a placeholder advertiser_id.
send_feedback
ChatGPTUse this when the user appears frustrated, dissatisfied, blocked, or explicitly asks to send feedback to the TikTok Ads team. Before calling this tool, summarize the user's frustration in plain language and ask the user to confirm that exact feedback should be sent. Call only after explicit confirmation; pass the confirmed verbatim feedback text in feedback and set confirmed=true. Do not call for ordinary workflow edits or support questions unless the user confirms they want feedback sent.
submit_business_context
ChatGPTPrepare the user's business for the ad: takes your summary of the business, built from their pages, attached images, connected-app files, and their own words, plus the images it should use; re-hosts attached images so the video can use them, checks image links, and returns the business object the storyboard takes, with the usable images. Renders nothing. Call it before the first storyboard once the business is clear, even when there are no images, and again with the full object when the user corrects a fact or adds an image.
wait_for_generated_video
ChatGPTInternal polling endpoint for the video_status card. Invoked automatically by the card; not intended for assistant use.