All servers · Video
Panda Video
com.pandavideo/mcp · v2.1.0
Has write/delete toolsTools changed (7 days)
Measured by MCP Station
| Last check | Reachable |
|---|---|
| Checked at | — |
| Check success 7 / 30 days | — |
| First-try success 30 days | — |
| Median response | — |
| Lookups 30 days | — |
| Authentication | No auth |
| MCP version | 2025-06-18 |
| Rank score | — |
| Declared risk | Has destructive tools (destructiveHint) |
| Capabilities declared | resources, tools |
| Tool definitions | 186 tools · with description 100% · input schema is an object 100% · read/destructive hints 100% |
Description written by the publisher, not verified
Video hosting: upload, organize and configure videos, analytics, AI subtitles and Shorts.
Connect
streamable-http · https://mcp.pandavideo.com/mcp
claude mcp add --transport http mcp https://mcp.pandavideo.com/mcp{
"mcpServers": {
"mcp": {
"url": "https://mcp.pandavideo.com/mcp"
}
}
}Tools as reported by the server
panda_list_videosList videos. Each video has: id, video_external_id, title, status, created_at, length (seconds), folder_id, config. `id` is what most tools take as video_id; video_external_id is what panda_get_best_times_by_videos / panda_get_viewers_by_videos take. Results are returned newest first by default. Thepanda_get_videoGet full properties of a video by its ID, including video_external_id, config (config.ctas holds the pause/end thumbnail CTAs), profile, status, duration, folder, subtitles, etc.panda_update_videowrite/deleteUpdate basic metadata of a video: title, description text, or move to a different folder. Do NOT use this for player settings, chapters, subtitles, thumbnails, or any playback configuration — use the specific tools for those.panda_delete_videoswrite/deleteDelete one or more videos by ID. Sends to trash for 30 days.panda_move_videoswrite/deleteMove one or more videos to a folderpanda_duplicate_videoCreate a copy of a video. Only works for CONVERTED, non-external, non-funnel videos.panda_reencode_videoRe-encode a video with a specific compression modepanda_upload_video_from_urlImport a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)panda_list_foldersList all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}.panda_create_folderCreate a new folder. Returns the created {id, name, parent_folder_id}.panda_get_folderGet a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}.panda_update_folderwrite/deleteUpdate folder properties (name, parent). Also used to recover deleted folders with status=true.panda_delete_folderwrite/deleteDelete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days.panda_list_playlistsList all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}.panda_create_playlistCreate a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}.panda_get_playlistGet details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}.panda_update_playlistwrite/deleteUpdate a playlist's propertiespanda_delete_playlistwrite/deleteDelete a playlist. Videos are NOT deleted — only the collection is removed.panda_get_playlist_videosList all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}.panda_add_videos_to_playlistAdd videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}].panda_remove_video_from_playlistwrite/deleteRemove a video from a playlist. Does NOT delete the video.panda_list_profilesList all player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns {data: [{id, name, pullzone_name}]} — a profile's `name` is the ID of the video it was created for. Use panda_get_profile for a profile's full settings. No pagination.panda_create_profileCreate a new player profile (POST /profile). IMPORTANT: per the Panda API, `name` MUST be the ID of an existing video — if it is not a real video ID the API returns 500 and nothing is created. Create only accepts `name` and `exclusive`; it does NOT accept colors/controls/vsl. To set those, call pandpanda_get_profileGet details of a specific player profile including all settings (controls, colors, vsl, saveProgress)panda_update_profilewrite/deleteUpdate a player profile's settings. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL mode (vsl.disablePause / disableForward / alternativeProgress), playback speed (general.default_speed), save progress, big play button (usepanda_delete_profilewrite/deleteDelete a player profile by IDpanda_apply_profile_to_videosApply a player profile to one or more videos. Returns confirmation with the list of updated video_ids.panda_list_livesList all live streams. Returns array of {id, title, status, scheduled_at, region, quality_package, save_vod, stream_key_id, stream_key, rtmp, live_player, created_at}. Status: provisioning (channel starting), offline (waiting for signal or scheduled), online, finishing, finished, finished_imported (panda_create_liveCreate a new live stream event. Trial accounts cannot create lives. A quality_package above the plan's maximum is silently lowered to the plan's maximum. Without stream_key_id the account's default stream key is used; a key held by another live (online, provisioning, expired, waiting to start or schpanda_get_liveGet details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}. Status: provisioning (channel starting), offline (waiting for signal or scheduled), online, finishing, finished, finished_imported (recording became a video), expired (no signalpanda_regenerate_liveRegenerate an expired live so it can be broadcast again. Only works when status is expired (otherwise 400 with the current status). Keeps the same stream key, but the RTMP server may change: update it in OBS. Start broadcasting within 15 minutes or the live expires again. Returns {id, status: provispanda_finish_livewrite/deleteEnd a live broadcastpanda_delete_liveswrite/deleteDelete one or more live streamspanda_list_stream_keysList all stream keys for live broadcasting. Returns array of {id, title, region, default, stream_key, in_use, in_use_by: {live_id, title, status}, created_at}. A key is held (in_use) by a live that is online, provisioning, expired, waiting to start or scheduled within 24h; an expired live holds it upanda_create_stream_keyCreate a new stream key for OBS or other streaming software. The account's first key becomes the default.panda_get_live_viewersGet viewer history for a live stream. Returns time-series array of viewer counts.panda_get_account_analyticsGet general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}.panda_get_video_analyticsGet analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}.panda_get_retention_analyticsGet audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point.panda_get_ranking_analyticsGet ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}.panda_get_realtime_analyticsGet the real-time snapshot of the account: how many viewers are watching now and on which devices. Returns {total_users, devices: {mobile, desktop, others}, geojson} — geojson (the dashboard map clusters) comes empty in this account-wide snapshot; no per-viewer data (IP, browser) is returned.panda_get_bandwidth_analyticsGet bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries.panda_get_unwatched_videosList the account's videos that had NO access at all in a period (the inverse of the ranking). Whole account only. Only videos that already existed on start_date are considered. Returns {start_date, end_date, data: [{id, video_external_id, title, created_at}], pagination: {limit, offset, total_unwatcpanda_get_best_timesWhich weekday and 2-hour slot the audience of the WHOLE account plays the most (or sees the player the most) in a period — "best time to publish". Weekday × 2-hour slot grid, summed over the period — the same grid as the dashboard heatmap (Analytics → Best times), with the hours exactly as Panda anapanda_get_best_times_by_videosWhich weekday and 2-hour slot the audience of specific videos (or of every video in a folder) plays the most in a period. Weekday × 2-hour slot grid, summed over the period — the same grid as the dashboard heatmap (Analytics → Best times), with the hours exactly as Panda analytics stores them. An enpanda_get_viewers_by_videosWho watched specific videos (or any video of a folder) in a period: distinct viewers, identified by IP. The IP is returned MASKED (a.b.x.x) — the full list is in the dashboard (Analytics → Users). The selection only chooses WHICH viewers appear: each viewer's metrics (play, view, watch_time) cover tpanda_list_funnelsList all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders.panda_create_funnelCreate a new video funnelpanda_get_funnelGet a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders.panda_update_funnelwrite/deleteUpdate a funnel's properties (rename)panda_delete_funnelwrite/deleteDelete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible.panda_add_videos_to_funnelAdd one or more videos to a funnel with optional coordinatespanda_remove_videos_from_funnelwrite/deleteRemove one or more videos from a funnelpanda_get_watermark_statusCheck whether watermark/DRM is currently active on the account. Returns {active: boolean}.panda_enable_watermarkEnable watermark protection for the accountpanda_disable_watermarkwrite/deleteDisable watermark protection for the accountpanda_list_watermark_groupsList all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}.panda_create_watermark_groupCreate a new watermark grouppanda_get_watermark_groupGet a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}.panda_update_watermark_groupwrite/deleteUpdate a watermark grouppanda_delete_watermark_groupwrite/deleteDelete a watermark grouppanda_manage_drm_group_itemsAdd or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids.panda_get_thumbnailsGet the cover (start thumbnail) of a video. Returns {response: {active, default}}: active = the uploaded cover in use (absent when none was uploaded), default = the automatic thumbnails generated from the video. Pause and end thumbnails are NOT listed here — they are CTAs in the video's player confipanda_add_thumbnailUpload the video cover (start thumbnail) — the image shown before the user presses play. Provide `image_url` pointing to a publicly reachable image (PNG/JPG/GIF); the tool downloads it and uploads as multipart to the Panda API. Replaces any existing start thumbnail. After this returns, the cover ispanda_add_pause_thumbnailUpload a pause thumbnail — an image shown when the viewer pauses the video. Provide `image_url` pointing to a publicly reachable JPG, PNG or GIF up to 5 MB. The upload also creates the pause CTA, so the image shows in the player right away, for the whole video. A video can have several pause thumbnapanda_add_end_thumbnailwrite/deleteUpload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable JPG, PNG or GIF up to 5 MB. The upload also creates the end CTA, so the image shows in the player right away. A video has one end thumbnail: a new upload replaces the previous one.panda_delete_thumbnailwrite/deleteDelete a thumbnail from a video (image and its player CTA). Type: 'start' (default, the cover), 'pause', 'end'. For 'pause', thumb_name is required and must be the exact file name — returned by panda_add_pause_thumbnail, or metadata.thumbId of the 'pause' CTA in panda_get_video_player_config. The topanda_get_subtitlesGet all subtitle information for a videopanda_get_subtitle_by_languageGet a subtitle file for a specific languagepanda_delete_subtitlewrite/deleteRemove a subtitle from a video by languagepanda_generate_ai_subtitlesGenerate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier.panda_update_subtitle_visibilitywrite/deleteShow or hide a subtitle language (hidden subtitles are not visible but still indexable for search)panda_download_subtitleDownload a subtitle file for a specific languagepanda_get_videos_countGet total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)panda_get_custom_fieldsGet all custom fields for a video. Returns array of {id, key, value} metadata pairs.panda_create_custom_fieldCreate a custom metadata key-value field for a video (for tagging/categorization). Do NOT use this for chapters, subtitles, CTAs, or player settings — use the specific tools for those. Max 50 fields per video.panda_list_usersList all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}.panda_create_userCreate a new user in the organization. Returns the created {id, name, email, role_id}.panda_update_userwrite/deleteUpdate a user's information or rolepanda_delete_userwrite/deleteRemove a user from the organizationpanda_request_downloadRequest an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}.panda_check_download_statusCheck the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'.panda_list_shortsList all Shorts jobs. Projects expire after ~30 days. Returns array of {job_id, status, user_context: {video_title, source_type}, completed_segments, created_at}.panda_import_video_for_shortsImport a video for AI shorts generation. Sources: library (video_id), youtube (source_url). Default config: vertical aspect, 30-60s duration, no captions. Video must be CONVERTED, 5min-5hrs, <50GB, no DRM.panda_list_short_segmentsList all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription.panda_delete_shortwrite/deleteDelete a Shorts job/projectpanda_save_segment_to_librarySave a Short segment to the video library as an independent videopanda_list_ai_assistantsList all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}.panda_get_ai_assistantGet an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}.panda_create_ai_assistantPurchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}.panda_get_ai_assistant_purchase_overviewGet credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}.panda_update_ai_assistantwrite/deleteUpdate AI assistant information (name, status, etc.)panda_update_ai_assistant_video_bindingswrite/deleteReplace the videos bound to an AI assistant. Sends the FULL list of video_ids — existing bindings not in the list will be removed.panda_update_ai_assistant_chat_visibilitywrite/deleteShow or hide the AI chat widget on the video playerpanda_delete_ai_assistantwrite/deleteDelete an AI assistantpanda_generate_tutor_file_upload_urlGenerate a presigned URL to upload a PDF/file to a Tutor AI assistant. Returns upload_url and file_id. After uploading, call panda_confirm_tutor_file_upload.panda_confirm_tutor_file_uploadConfirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)panda_delete_tutor_filewrite/deleteDelete a file from a Tutor AI assistantpanda_add_tutor_videosAdd videos to a Tutor AI assistantpanda_create_ai_dubbingCreate an AI dubbing job for a video. Costs 2 credits/min (standard) or 10 credits/min (lipsync). Returns {id, status, video_id, from_lang, to_lang}.panda_delete_dubbing_audiowrite/deleteDelete a dubbed audio track from a videopanda_get_referrals_summaryGet referral program summary (balance, estimated value)panda_get_credits_balanceGet the current credits balance for the account. 1 credit = R$1.panda_get_credits_historyGet credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}.panda_get_auto_recharge_settingsGet auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}.panda_enable_auto_rechargeEnable auto-recharge for credits. When balance drops below trigger, recharges action_value.panda_update_auto_rechargewrite/deleteUpdate auto-recharge settingspanda_disable_auto_rechargewrite/deleteDisable auto-recharge for creditspanda_list_comparisonsList all A/B test comparisons. Status: DRAFT → IN_PROGRESS → COMPLETED. Returns array of {id, name, description, status, videos: [], winner_video_id, created_at}.panda_create_comparisonCreate a new A/B test. Needs at least 2 videos to start. Returns the created {id, name, status, video_ids}.panda_start_comparisonStart an A/B test (begin collecting data). Only from DRAFT status. Returns the updated comparison with status IN_PROGRESS.panda_finish_comparisonwrite/deleteFinish an A/B test and declare a winner. PERMANENT — cannot be reversed.panda_delete_comparisonswrite/deleteDelete one or more A/B testspanda_get_player_configGet global player configuration (applies to all videos without a custom profile)panda_update_player_configwrite/deleteUpdate global player configuration (applies to all videos without a custom profile). Returns the updated config object.panda_get_video_player_configGet per-video player configuration (chapters, CTAs, pixels, redirect, AI features, retention markers, subtitle default, offline config)panda_update_video_configwrite/deleteUpdate per-video config (POST /player?type=video). Send only fields you want to change. Fields: chapters, default_subtitle, redirect_video_id, custom_pixels, on_funnel, panda_branding, questions (AI quiz), mindmap (AI), abstract (AI ebook), retention_markers, ai. NOT for: controls, autoplay, Smart Apanda_set_video_offlinewrite/deleteConfigure offline playback for a video (mobile app feature)panda_add_ctaAdd a CTA (Call-to-Action) button to a video. Placement 'inside' = overlay on the video, 'outside' = below the video. Builds the same payload the dashboard's button editor sends.panda_update_ctawrite/deleteUpdate a CTA on a video. Only the fields you pass are changed; everything else keeps its current value. Placement cannot be changed — delete and re-add the CTA instead.panda_delete_ctawrite/deleteDelete a CTA from a videopanda_get_ai_workflowsGet AI workflow status for a video (transcription, dubbing, translation progress)panda_delete_ai_workflowwrite/deleteDelete an AI workflow (transcription, dubbing, etc.)panda_get_subscriptionGet current subscription/plan details. Returns {subscription_id, subscriptions: {name, status, active}, currency, addons}. addons.live lists live minutes billed above the plan's free minutes, per region and quality (quantity in minutes, unit_amount in cents); the plan's max live quality is subscriptpanda_get_plan_usageGet the current billing cycle usage and plan limits. Returns {start_period, end_period, plan_name, is_trial, storage, storage_plan, traffic, traffic_plan (all MB), play, play_plan, live, live_plan, live_count}. live = live minutes used this cycle (whole account, all regions); live_plan = free live mpanda_list_invoicesList all invoices. Returns array of {id, status, amount_due, amount_paid, created, due_date, invoice_pdf, hosted_invoice_url}.panda_list_plansList available subscription plans and pricingpanda_list_subaccountsList all subaccounts and their usage limits. Returns array of {organization_id, name, status, credits_balance, storage_used, limits}.panda_update_subaccountwrite/deleteUpdate a subaccount's settings (name, limits, status)panda_delete_subaccountwrite/deleteDelete a subaccountpanda_transfer_creditswrite/deleteTransfer credits to a subaccountpanda_list_noticesList the notices the Panda team sent to the account (tips, alerts, news) — the ones shown in the dashboard notice card and Notifications panel. Only the account owner and admins have notices: any other user gets an empty list (not an error). Status: 'sent' = unread, 'read' = dismissed, 'completed' =panda_update_notice_statusMark one notice as 'read' (default — same as dismissing it in the dashboard) or 'completed'. Use 'completed' ONLY when the user explicitly asks for it: in the dashboard it means the user did what the notice asked, and it is final (a completed notice never changes again). Nothing is deleted. Only thepanda_help_searchSearch Panda Video help center articles to answer user questions. Searches through ALL 136 pre-indexed articles from the official help center (https://help.pandavideo.com/pt-br/). Use this tool whenever the user has a QUESTION about how Panda Video works, pricing, features, integrations, configuratipanda_help_get_articleGet the full content of a specific Panda Video help center article by slug. Use this after searching to read the complete content of an article. The response is the full official documentation.panda_get_business_rulesReturns the platform business rules: the real consequences of actions that modify, delete or move resources (e.g., removing a video from a funnel deletes it permanently, it does not just unlink it). Useful before planning such actions, so the advice given to the user matches how the platform actuallpanda_list_referList the library-level domain referrers (Domain Protection / allow-block list for playback). Returns { refers: [{ id, url, type, status }] } where type is ALLOW|BLOCK and status is one of active|inactive|pending|deleting|turning_inactive. library_id is resolved automatically when omitted.panda_list_refer_allList all of the library's domains consolidated by hostname across library and folder scopes. Returns { refers: [{ hostname, type, status, scope, library_refer_id, folders, type_inconsistency, created_at }] }. scope is library|folder|mixed; status may be 'mixed' when rows differ; library_refer_id ispanda_list_folder_referList the domain referrers set directly on a folder. Returns { refers: [{ id, url, type, status, origin: { type, id } }] }. library_id is resolved automatically when omitted.panda_list_folder_refer_inheritedList the effective referrers that apply to a folder using override-total semantics: the folder's own referrers if it has any, otherwise the library-level referrers. Use this to know which domains actually gate playback for videos in the folder. Returns { refers: [{ id, url, type, status, origin: { tpanda_create_referAdd one or more library-level domain referrers. Each entry has a hostname and a type (ALLOW|BLOCK, default ALLOW). The same hostname cannot coexist as both ALLOW and BLOCK at the library scope (duplicate check is type-agnostic). New rows start in 'pending' (when domain protection is active) or 'inacpanda_create_folder_referAdd a domain referrer scoped to a single folder. type is ALLOW|BLOCK. The new row starts in 'pending'. A folder cannot have the same hostname twice. library_id is resolved automatically when omitted. On error the API returns { errCode, errMsg }.panda_set_refer_statuswrite/deleteActivate (active=true) or deactivate (active=false) a single referrer by refer_id. Activation moves inactive→pending; deactivation moves active→turning_inactive (the async worker finalizes the state). If the referrer is already in an intermediate state (pending|deleting|turning_inactive) the API retpanda_delete_referwrite/deleteDelete one or more library-level referrers by id (batch). Each referrer must be library-level (folder_id=null) and belong to the library; otherwise the API returns 400 ({ errCode, errMsg }). Rows transition to 'deleting' and are removed asynchronously.panda_delete_folder_referwrite/deleteDelete one or more folder-level referrers by id (batch). Duplicate ids are de-duplicated; if any id is missing the API returns 404, and if any referrer is library-level it returns 400 ({ errCode, errMsg }). Rows transition to 'deleting' and are removed asynchronously.panda_update_folder_referwrite/deleteEdit one or more existing referrers (refer_ids) in a single call: rename the hostname, change the type (ALLOW|BLOCK), and/or move them between scopes. scope='library' makes the domain apply to the whole library (omit folder_ids). scope='folder' makes it apply to the listed folder_ids (required and npanda_set_block_none_referwrite/deleteSet the global 'block_none_refer' policy for the library. When true, playback requests that carry NO referer are blocked; when false, they are allowed. This is the master switch that activates/deactivates domain protection for requests without a referer. On error the API returns { errCode, errMsg }.panda_action_move_videos_by_folderwrite/deleteDeterministically resolve a source and target folder and move every video from the source into the target in one call. Pass target_folder_ref='root' to move to the root (no folder). Skips videos already being deleted. Free action (no credits). dry_run=true (default) returns a preview of which videospanda_action_delete_folder_videoswrite/deleteDeterministically resolve a folder and send every video inside it to the trash (30-day recovery). DESTRUCTIVE. dry_run=true (default) returns a preview of what would be deleted; set dry_run=false AND confirm=true to actually delete.panda_action_reencode_folder_videosDeterministically resolve a folder and re-encode every CONVERTED video with a given compression mode. Reprocessing consumes processing resources. dry_run=true (default) previews the affected videos.panda_action_duplicate_folder_videosDeterministically resolve a folder and create a copy of every CONVERTED video inside it. Duplication only works for non-external, non-funnel videos (the API rejects others, surfaced per-video). dry_run=true (default) previews the affected videos.panda_action_set_folder_videos_offlinewrite/deleteDeterministically resolve a folder and enable or disable offline (mobile app) playback for every CONVERTED video inside it, in one batch call (POST /app). dry_run=true (default) previews the affected videos.panda_action_rename_folderwrite/deleteDeterministically resolve a folder by name/ID/URL and rename it (PUT /folders/{id}). dry_run=true (default) previews the rename.panda_action_create_folder_pathDeterministically ensure a nested folder path exists (e.g. 'Courses/2026/Module 1'), creating only the missing segments and returning the leaf folder ID. Idempotent: existing segments are reused. dry_run=true (default) previews which segments would be created.panda_action_create_playlist_from_folderDeterministically resolve a folder, create a new playlist, and add every CONVERTED video to it in folder order. dry_run=true (default) previews the playlist and its videos without creating anything.panda_action_add_folder_videos_to_playlistDeterministically resolve a folder and an existing playlist (by name or ID), then append every CONVERTED folder video to the playlist after its current items. dry_run=true (default) previews the additions.panda_action_apply_profile_to_folderDeterministically resolve a player profile and a folder, list eligible (CONVERTED) videos, and apply the profile to all of them in one call. Free action (no credits). dry_run=true (default) returns a preview of which videos would be updated.panda_action_apply_video_config_to_folderDeterministically resolve a folder and apply per-video player config to every CONVERTED video (POST /player?type=video). Supports: panda_branding, default_subtitle (lang code or 'false'), on_funnel, and the AI toggles questions/mindmap/abstract. Send only the fields you want to change. dry_run=truepanda_action_configure_folder_profileDeterministically apply player-profile settings to every CONVERTED video in a folder, taking the correct create-or-update route per video. Covers everything a profile holds: colors (Cores), controls incl. the big play button 'play-large' (Controles / Botão de Play Grande), caption appearance (Legendpanda_action_set_folder_player_controlwrite/deleteEnable or disable a single player control on every CONVERTED video in a folder, via player profiles, PRESERVING all other controls. The big play button (dashboard 'Botão de Play Grande') is the 'play-large' control — disable it with control='play-large', enabled=false. Each video's profile controlspanda_action_generate_subtitles_for_folderDeterministically resolve a folder, list eligible (CONVERTED) videos, estimate the AI subtitle cost in credits, and optionally generate subtitles in one or more languages. Tiers: essential (only en/pt-BR/es, 1 credit/30min), advanced (34 langs, 1 credit/5min), pro (34 langs, 1 credit/min). dry_run=tpanda_action_set_default_subtitle_for_folderwrite/deleteDeterministically resolve a folder and set the default subtitle language on every CONVERTED video (POST /player?type=video). Pass language 'false' to clear the default. dry_run=true (default) previews the affected videos. Note: videos lacking that subtitle simply won't show it.panda_action_remove_subtitle_language_from_folderwrite/deleteDeterministically resolve a folder and delete a subtitle language from every CONVERTED video that has it (DELETE /subtitles/{id}). DESTRUCTIVE. dry_run=true (default) previews; set dry_run=false AND confirm=true to delete. Videos without that language are simply skipped by the API.panda_action_dub_folder_videosDeterministically resolve a folder, list eligible (CONVERTED) videos, estimate the dubbing cost in credits, and optionally create AI dubbing jobs for one or more target languages. dry_run=true (default) returns a preview without creating any job. standard mode = 2 credits/min, lipsync = 10 credits/mpanda_action_create_tutor_from_folderDeterministically resolve a folder, estimate the credit cost via purchase_overview, and create an AI Tutor bound to every CONVERTED video in the folder. dry_run=true (default) returns the cost preview without creating anything.panda_action_add_folder_videos_to_tutorDeterministically resolve an existing AI Tutor (by name or ID) and a folder, then bind every CONVERTED folder video to the tutor (POST /assist_ai/update_assistant_videos). dry_run=true (default) previews the additions.panda_action_enable_ai_package_for_folderDeterministically resolve a folder and activate the AI package (mindmap + abstract/eBook + quiz) for every CONVERTED video (POST /aiworkflow type=ALL_TEXT_ITEMS). Estimates credits (1/started minute; Gold/Enterprise may have a free daily quota that reduces real cost). dry_run=true (default) returnspanda_action_folder_ai_statusDeterministically resolve a folder and report the aggregate status of all its AI workflow jobs (subtitles, dubbing, AI package) via GET /aiworkflow?folder_id. Read-only — returns counts by status and by type. No dry_run (nothing is mutated).panda_action_generate_shorts_from_folderDeterministically resolve a folder and submit each eligible video (CONVERTED, 5min–5h) for AI Shorts generation (POST /shorts/import-video). Each job consumes Shorts processing. dry_run=true (default) previews eligible videos. DRM-protected videos are rejected by the API and surfaced per-video.panda_action_set_custom_field_for_folderwrite/deleteDeterministically resolve a folder and set a custom metadata field (key/value) on every CONVERTED video (POST /videos/{id}?custom_fields). dry_run=true (default) previews the affected videos.panda_action_apply_watermark_group_to_folderDeterministically resolve a watermark/DRM group (by name or ID) and a folder, then add the folder to the group so all its videos (current and future) inherit the forensic watermark (PUT /drm/videos/{id} folders.increment). dry_run=true (default) previews.panda_action_create_watermark_group_for_folderDeterministically resolve a folder and create a new watermark/DRM group seeded with all its videos (POST /drm/videos). dry_run=true (default) previews the group and its videos.panda_action_add_folder_videos_to_funnelDeterministically resolve a funnel (by name or ID) and a folder, then add every CONVERTED folder video to the funnel (POST /funnels/add_videos). dry_run=true (default) previews the additions.panda_action_schedule_livesCreate one or more scheduled live streams in a single call (POST /lives), optionally recording into a resolved folder. Defaults like the dashboard: region us, quality_package hd, save_vod true. Refuses trial accounts and quality above the plan's maximum. Without stream_key_id the account's default spanda_action_set_anti_downloadwrite/deleteEnable or disable account-wide anti-download protection (GET/PUT /block_download). Reads the current state first and only changes it if needed. dry_run=true (default) previews the change.panda_action_set_allowed_domainswrite/deleteAdd referer domains to the account's allow/block list for playback (POST /library/{id}?action=refer) and optionally toggle 'block requests with no referer'. Resolves the library ID automatically. dry_run=true (default) previews.panda_action_request_folder_downloadsDeterministically resolve a folder and request an async download for every CONVERTED video at a given quality/format/language (POST /download-async/{externalId}). Poll status later with panda_check_download_status. dry_run=true (default) previews the requests.panda_action_export_folder_analyticsDeterministically resolve a folder and aggregate per-video play analytics over a date range (GET /general/{videoId} on the analytics host). Read-only — returns a per-video breakdown and folder total. No dry_run.panda_action_create_ab_testCreate an A/B comparison from 2+ videos (POST /comparison) and optionally start it immediately (PUT /comparison/{id}?type=start). dry_run=true (default) previews.panda_action_credit_preflightEstimate the credit cost of running a paid operation (dub / subtitles / ai_package) across every CONVERTED video in a folder and compare it to the current balance — WITHOUT executing anything. Read-only; use before the real action to decide whether to proceed.panda_action_preview_storage_reductionHow much the invoice will be if the account reduces its ADDITIONAL storage — to a new total (target_total_gb) or by removing an amount (remove_gb), in GB (1 TB = 1024 GB). Without an amount, returns the current storage, what is in use and the smallest possible total. Refuses totals below what is alrpanda_action_transfer_credits_to_subaccountwrite/deleteResolve a subaccount by name or ID and transfer credits to it (POST /user/limit/transfer_credits). Checks the parent balance first. dry_run=true (default) previews the transfer.panda_action_provision_userCreate a team user, resolving the role by name (or original_name/ID) to its role_id (POST /users). dry_run=true (default) previews. Validates the email format up front.panda_action_create_review_link_for_folderDeterministically resolve a folder and create a review link for every CONVERTED video (POST /video-review/{id}?action=link). dry_run=true (default) previews the links that would be created.panda_action_set_webhookwrite/deleteIdempotently set the account webhook URL. Reads the current webhook (GET /user/webhook); if a different one exists it is removed (DELETE /user/webhook/{id}) before creating the new one (POST /user/webhook). dry_run=true (default) previews the change.panda_action_set_forms_integrationwrite/deleteCreate or update a forms/CRM integration by service name. Reads existing integrations (GET /forms-integration/get); updates in place if the service already exists (PUT /forms-integration/update), otherwise creates it (POST /forms-integration/save). dry_run=true (default) previews.
Tool changes
- 2026-10-24: panda_list_videos, panda_get_video, panda_update_video, panda_delete_videos, panda_move_videos, panda_duplicate_video, panda_reencode_video, panda_upload_video_from_url, panda_list_folders, panda_create_folder, panda_get_folder, panda_update_folder
- 2026-10-16: panda_list_videos, panda_get_video, panda_update_video, panda_delete_videos, panda_move_videos, panda_duplicate_video, panda_reencode_video, panda_upload_video_from_url, panda_list_folders, panda_create_folder, panda_get_folder, panda_update_folder
Repository · Website · JSON · Text for agents · Registry updated 2026-10-05