Galatic.ai
Server Details
Create AI video, images, music and voice from your assistant, on your Galatic.ai plan.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- galatic-ai/galatic-mcp
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 82 tools
Most tools have distinct purposes, but the 82-tool surface contains many overlapping families: image generation vs. editing vs. ad creatives, video generation vs. music videos vs. compositions, and several admin user/customer/export tools. The long descriptions usually explain which tool to use, but an agent must carefully parse them to avoid misselection.
The majority of tools use consistent snake_case and verb_noun naming, with predictable prefixes such as admin_, auto_publish_, and list_/get_/save_/delete_. There are minor deviations like fetch, search, beat_sync, concierge_status, and episode_social_copy, but the overall pattern remains readable.
With 82 tools, the surface is far beyond a well-scoped set and is difficult for an agent to navigate reliably. The domain is broad, but the count suggests many admin, generation, series, billing, and publishing functions could be consolidated or separated.
Coverage is very broad: generation, editing, music, video, flows, series, gallery, profiles, social publishing, support, billing, and admin operations are all represented. Minor gaps remain, such as no obvious delete operations for episodes or artists and some pagination limitations, but core workflows are well covered.
Publisher details
- Operator
- Media CCCLXV LLC DBA Galatic.ai · Publisher source
- Operator website
- https://galatic.ai
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://galatic.ai/mcp
- Trust center
- Not available
- Restrictions
- Requires a Galatic.ai account (OAuth sign-in). Generations use credits from the user's Galatic.ai subscription plan. · Publisher source
Available Tools
82 toolsadd_artist_projectAdd video to artistAInspect
Attach one video from the user's library to one of their AI artists, so it shows as a project on that artist's page (visible to the owner only). Returns { artistId, project } (201). Only videos can be added; a video already attached to another artist is refused (409). artistId comes from list_artists and galleryItemId from list_gallery. Deleting the video later removes it from the artist too.
Inputs: context (required), artistId (required), llm_model (required), galleryItemId (required), +1 more.
admin_abuseAdmin: abuseADestructiveInspect
Admin only: abuse-detection reports. "latest" returns the most recent scan report; "reports" and "actions" return this month's reports and recorded actions. "scan" runs a fresh scan now and returns it. "dismiss" (type and description required; accounts, userId, reason optional) suppresses that finding in future scans and logs a "dismissed" action. "act" (userId, actionType, reason, details) only writes an audit record; it does not suspend or limit anyone, so use admin_set_user_status for that.
Inputs: action (required), context (required), llm_model (required), type, +7 more.
admin_agent_runnerAdmin: agent runnerADestructiveInspect
Admin only: the Digital Twin agent runner and the agent console. "status" reads the runner (deployed false when it is not). "wake" provisions its NAT gateway and scales it to one, which costs AWS money until "sleep" or the idle monitor stops it; waking an awake runner is harmless. "claims" lists agents' live file claims and overlaps; "work_in_flight" shows open PRs, branch drift and the Terraform verdict. Use agent_inbox for messages between agents.
Inputs: action (required), context (required), llm_model (required), conversation_id.
admin_conciergeAdmin: conciergeADestructiveInspect
Admin only: Content Concierge batches. "queue" lists batches still in progress (pending generation, generating, awaiting voice, pending approval) with userId, monthKey, status and counts; "get" returns one batch with signed media URLs. "generate" starts a pending batch in the background (202) and bills real provider calls to the customer's usage; 409 unless it is pending generation. "approve" does not deliver: it stages the items in the customer's gallery for their review, emails them, and starts the 5-day review window (deliverToUser sends it to another account, by user id or email); the customer then uses concierge_feedback. "archive" sets the batch archived, with no restore tool. userId and monthKey ("YYYY-MM") come from queue.
Inputs: action (required), context (required), llm_model (required), userId, +3 more.
admin_crm_outreachAdmin: CRM outreachADestructiveInspect
Admin only: the CRM outreach desk. "get_mode" returns mode and validModes; "set_mode" sets mode ("draft_only" or "autonomous"). "drafts" lists up to 50 outreach drafts. "review" (draftId, decision "approved" or "rejected", optional editedSubject and editedBody) records a decision and never sends. "send" (draftId) emails an approved draft to its recipient, but only in autonomous mode; in draft_only it marks the draft skipped and returns sent false. A sent email cannot be recalled.
Inputs: action (required), context (required), llm_model (required), mode, +5 more.
admin_customersAdmin: customersARead-onlyIdempotentInspect
Admin only: every user account enriched for billing (not only payers), or abandoned checkouts. abandoned false (default) returns { customers, count }, each with tier, isPaid, this month's tokensUsed, tokenBudget, topUpTokens and generationCounts, tier taken from active Stripe subscriptions; filter on isPaid for paying customers. abandoned true returns { items, count }: checkouts abandoned in the last 30 days, each with a checkoutId. Read-only; slow, because it reads every user, the month's usage and Stripe.
Inputs: context (required), llm_model (required), abandoned, conversation_id.
admin_delete_userAdmin: delete userADestructiveInspect
Admin only, irreversible: delete one account. In order: cancels the Stripe subscription at once (a Stripe error stops everything), deletes the gallery items and their files (or, with archiveContent true, keeps them hidden as archived), then usage, cart, Concierge, Orion chat, likeness and profile records and the Cognito login. Flows, voice clones, series and artists are not removed. Not atomic: a later failure leaves earlier steps done. confirmUserId must equal userId. Run admin_export_user first if a copy is needed.
Inputs: userId (required), context (required), llm_model (required), confirmUserId (required), +2 more.
admin_deliver_to_userAdmin: deliver to userADestructiveInspect
Copy items from your own Gallery (itemIds) or your own uploads (uploadIds, the assetId from upload_media) into another user's Gallery (up to 25 in total). Does not post anywhere. userId is a user id, not an email. reason is required and audited; notify emails the user.
Inputs: reason (required), userId (required), context (required), llm_model (required), +6 more.
admin_export_userAdmin: export userARead-onlyIdempotentInspect
Admin only, read-only: export what Galatic.AI holds about one user, for a data-subject request or before admin_delete_user. Returns { exportedAt, profile, subscription, generations, usageHistory, likenesses, orionConversations (full messages), conciergeBatches }; media URLs are unsigned. An unknown userId returns empty data rather than 404. Nothing is changed. Use admin_get_user for a quick look instead.
Inputs: userId (required), context (required), llm_model (required), conversation_id.
admin_flow_dlqAdmin: flow DLQADestructiveInspect
Admin only: Flow Studio steps that failed into the dead-letter queue. Without itemId, reads up to 10 messages: { items: [{ itemId, receiptHandle, body, sentTimestamp }] }; reading hides them from other readers for a short while. To replay one, pass its itemId, body and receiptHandle exactly as the list returned them: the node run named in body is reset to pending with a new idempotency key, and the message is deleted from the queue. A receiptHandle from an older list may have expired; list again first.
Inputs: context (required), llm_model (required), body, itemId, +2 more.
admin_get_userAdmin: get userARead-onlyIdempotentInspect
Admin only: one user by userId (the userId from admin_list_users). content false (default) returns { user } with profile, this month's usage, planUsage (plan limits and use), limitOverrides and their 20 most recent items (recentContent, totalContent). content true returns that user's generated items instead, first 50 with signed URLs. Read-only; use admin_set_user_status to suspend, flag or change limits.
Inputs: userId (required), context (required), llm_model (required), content, +1 more.
admin_grant_creditsAdmin: grant creditsADestructiveInspect
Admin only: add tokens to one user's top-up balance for the current month, for internal work such as demos, marketing or QA (no Stripe charge). tokens is at most 100000 per call and reason is required and stored with the grant. Each call adds again, so a retry grants twice. Returns { userId, monthKey, granted, topUpTokens, internalGrantedTokens, tokensUsed }. userId comes from admin_list_users.
Inputs: reason (required), tokens (required), userId (required), context (required), +2 more.
admin_list_usersAdmin: list usersARead-onlyIdempotentInspect
Admin only: list every Cognito user account, newest sign-up first, in one response (no paging or filters). Returns { users: [{ userId, username, email, name, picture, createdAt, lastActive, enabled, status }], count }; lastActive is the account's last-modified time, not its last login. Use admin_get_user for one user's usage and content, admin_customers for plan tier and paid status. Read-only.
Inputs: context (required), llm_model (required), conversation_id.
admin_moderationAdmin: moderationADestructiveInspect
Admin only. "flagged" lists content the generation guardrails blocked (first 50). "pending_reviews" lists customer reviews (site testimonials) waiting for approval: id, name, role, company, rating, text, date, submittedBy, flags, spamReasons. "approve_review" (reviewId) puts that review on the public reviews list and makes the reviewer eligible for the weekly raffle; "reject_review" keeps it off. reason is accepted but not stored. Use admin_abuse for abuse findings.
Inputs: action (required), context (required), llm_model (required), reason, +2 more.
admin_recover_jobsAdmin: recover jobsADestructiveInspect
Admin only. With no ids, runs the stuck-job sweep now: stale running jobs are recovered from partial output or marked failed, recent failed compositions are retried (new provider spend), stuck flow jobs are marked failed, failed or expired Kie jobs are refunded, and alert emails go out; returns counts and details. With userId AND compositionId, recovers that one composition without checking its status: if no output exists yet it is marked failed, even while still running. Passing only one of the two ids runs the full sweep.
Inputs: context (required), llm_model (required), userId, compositionId, +1 more.
admin_refresh_catalogAdmin: refresh catalogueADestructiveInspect
Admin only: rebuild a model catalogue now instead of waiting for its schedule; runs in the request and makes no paid generation calls. "capabilities" re-reads each Kie.ai model's documentation and rewrites the capabilities table that list_models reads, keeping the last good entry when a page fails; returns per-model success, partial and failed counts. "showcase" rebuilds the public model showcase from the admin account's gallery items of the last 90 days (top 3 per model) and returns the new showcase.
Inputs: target (required), context (required), llm_model (required), conversation_id.
admin_sales_batchesAdmin: sales batchesADestructiveInspect
Queue sales-outreach email batches for scheduled sending: list, get, create, append (up to 20 recipients per call), approve (approvalQuote = the approver's own words), cancel. Only approve on Gabriel's yes.
Inputs: action (required), context (required), llm_model (required), step, +9 more.
admin_set_user_statusAdmin: user statusADestructiveInspect
Admin only: change one user's standing (userId from admin_list_users). "suspend" disables their account so they cannot sign in, and records reason; "unsuspend" re-enables it. "flag" marks them for review with reason and does not limit them. "limit_overrides" replaces their per-user upload and job limits with overrides, for example { maxStoredBytes, monthlyUploadBytes, concurrentJobs, video: { maxSizeBytes } }; invalid or non-positive values are dropped, and an empty or missing overrides clears them all.
Inputs: action (required), userId (required), context (required), llm_model (required), +3 more.
admin_statsAdmin: statsARead-onlyIdempotentInspect
Admin only, read-only platform reports. "stats": user counts (total, active now, 30-day active), total generations, tier distribution and system health. "activity": the newest 50 events of the activity feed. "vertex_usage": today's Vertex AI request count against its daily limit. "costs": a rough estimate for this month from gallery item counts at fixed per-type rates (at most 2000 items scanned), not real AWS billing. Use admin_customers for per-user billing.
Inputs: report (required), context (required), llm_model (required), conversation_id.
admin_suno_queueAdmin: Suno queueADestructiveInspect
Admin only: licensed Suno songs for Galatic's own releases, made by hand on suno.com (Suno has no API; the Kie route is not licensed). "plan" (brief required; count 1-10, default 1) has Claude write ready-to-paste specs (title, style, excludeStyles, lyrics or instrumental) and returns { batchId, items } with status "planned". "list" filters by status (planned, uploaded, skipped) and batchId. "update" edits title, style, excludeStyles, lyrics or notes, or sets status "skipped" or back to "planned" (409 once uploaded). "attach" links an uploaded, registered audio assetId (from upload_media) to a planned item and saves it to the admin's gallery with its licence; only with attestation true, after Gabriel made AND downloaded the song on his paid suno.com plan.
Inputs: action (required), context (required), llm_model (required), spec, +13 more.
agent_inboxAdmin: agent inboxADestructiveInspect
Message board between agents (kiro, claude-code, codex, opencode, chatgpt, claude-web, claude-chrome, advisor) and people (gabriel, danny). Call action "unread" with your agent name at session start and before merging; "ack" each notice you read; "post" to send (to: agents or "all"; replyTo to thread); "resolve" closes your own notice; "list" shows everything. Advisory only: a notice never blocks a write. Several sessions share one agent name (every Claude Code session is claude-code): pass the same sessionId (your session name) on unread, post and ack, or other sessions' notices stay hidden from you. Check in with action "checkin" (or action "post" with kind "checkin"; plus host local|web|aws and machine) at session start, every 10 minutes while working and before a merge; action "checkout" when done. A check-in reply carries the kill switch: if control.paused is true, stop and tell the user. A Claude Desktop session that the check-in hook does not cover (Cowork) checks in as claude-code with client "claude-desktop", so it shows on the Claude Desktop node. Action "handoff" gives a read-only task to Claude in Chrome (claude-chrome) in a named Chrome profile (profile "galatic-ai" = signed in as info@galatic.ai): pass profile, a galatic.ai url, check, pass and fail (and optionally dontClick). It returns { noticeId, prompt }. Nothing starts by itself: show the prompt to the user to paste into Claude in Chrome in that profile, then read the PASS/FAIL/BLOCKED reply later in your own unread (same sessionId). Claude in Chrome answers with post, agent "claude-chrome", replyTo the noticeId.
Inputs: agent (required), action (required), context (required), llm_model (required), +20 more.
ask_flow_assistantAsk Flow assistantAInspect
Ask the Flow Studio assistant a question and get a text answer as { response }. With flow (a flow record from get_flow), the assistant is told only its node types, edge count, template type and execution mode, not node settings or prompts. It changes nothing: apply its advice with save_flow. Spends chat credits and needs a plan that includes chat.
Inputs: context (required), message (required), llm_model (required), flow, +1 more.
auto_publish_list_postsList planned postsARead-onlyIdempotentInspect
List the posts of an Orion-mode Auto Publish campaign, newest first, up to 50. Returns { campaignId, counts (per status), batch, posts }, plus entitlement and slotCap when no batchId is given. Use it to follow a plan from auto_publish_plan_posts (pass its batchId; a batch past its planning deadline is marked failed here) or to find posts to review; use auto_publish_update_post to approve, skip or edit one. campaignId defaults to the user's active Orion-mode campaign.
Inputs: context (required), llm_model (required), status, batchId, +2 more.
auto_publish_plan_postsPlan postsAInspect
Start planning a batch of social video posts for an Orion-mode Auto Publish campaign. Runs in the background: returns at once with { campaignId, batchId, status "planning", count, slotCap }; poll auto_publish_list_posts with that batchId until batch.status is "done" or "failed". Spends Galatic.AI credits (research searches plus planning, checked before it starts), uses the plan's monthly post slots, and needs a paid plan. Planned posts are not published: review them with auto_publish_update_post. campaignId defaults to the user's active Orion-mode campaign; template-mode campaigns are refused.
Inputs: context (required), llm_model (required), count, focus, +2 more.
auto_publish_regenerate_partRegenerate post partAInspect
Regenerate one part of an Auto Publish post in the background (202). part is "video", "voiceOver" (script and audio), "metadata" (title, description, tags), "thumbnail", or "segment" (one scene of a multi-scene post, chosen by 0-based segmentIndex, then re-stitched). instructions (up to 500 characters) steers it; thumbnail ignores them. Only posts in review, approved or failed can be changed (409), and the post goes back to review, so approve it again with auto_publish_update_post. Follow it with auto_publish_list_posts (status generating, then review or failed); its jobId cannot be polled. Video, segment and voice parts spend Galatic.AI credits and take a job slot.
Inputs: part (required), postId (required), context (required), llm_model (required), +3 more.
auto_publish_update_postUpdate postAInspect
Approve, skip or edit one Auto Publish post (postId from auto_publish_list_posts). status accepts only "approved" or "skipped"; there is no reject. Approving needs a generated video and queues the post for the campaign's YouTube channel at its next publishing slot; use publish_post_now to post at once. edits may change script, title, description, videoPrompt, topic, hook, or the voice (voiceId with voiceProvider and voiceName); a cloned voice must be the user's own. Refused (409) while the post is generating. Returns { post }.
Inputs: postId (required), context (required), llm_model (required), edits, +2 more.
beat_syncBeat syncAInspect
Apply beat-synced effects to a video, firing the effect on the detected beats. frequency is a string such as "every", not a number. Omitted effect, strength and frequency take the defaults pulse, 0.3 and every. Spends Galatic.AI credits. Returns a job id; poll get_job_status with kind "beat_sync".
Inputs: context (required), videoUrl (required), llm_model (required), effect, +6 more.
cancel_queued_jobCancel queued jobAInspect
Cancel one Orion queue item that has not started yet and get { queueId, status "cancelled" }. Nothing was charged for it, so there is nothing to refund. An item already started, failed or cancelled is refused (409); an unknown or other user's queueId is 404. queueId comes from an Orion chat request queued while render slots were busy; check it first with get_queued_job, which can also start it.
Inputs: context (required), queueId (required), llm_model (required), conversation_id.
concierge_feedbackConcierge feedbackAInspect
Act on a Concierge month that is waiting for the customer's review (see concierge_status). "revision" spends the month's one revision round: everything rated thumbs-down is regenerated in the background (202; a second request is refused with 409). "finalize" delivers the month to the gallery, leaving out items still rated down; it happens on its own after 5 days. "feedback" (contentType "image" or "video", index, rating "up" or "down", optional reason) rates one item; rate the items to redo "down" before asking for a revision. monthKey is "YYYY-MM".
Inputs: action (required), context (required), monthKey (required), llm_model (required), +5 more.
concierge_statusConcierge statusARead-onlyIdempotentInspect
Read the signed-in user's Concierge batch for the current month. review false (default) returns its status (null and submitted false when nothing was submitted), its timestamps and monthKey, and regionAllowed. review true returns the content waiting for the customer's review: images and videos (each with its index), feedback so far, revisionRoundUsed, regenerating and customerReviewDeadline, or available false when nothing is waiting. Use concierge_feedback to rate items, ask for the revision or finalize. Read-only.
Inputs: context (required), llm_model (required), review, conversation_id.
control_flow_runControl flow runAInspect
Change a Flow Studio run (flowRunId from run_flow; watch it with get_flow_run). "stop" stops the run, marks it cancelled and returns { refundedCredits, actualCost }. "resume" restarts a paused, failed or budget_exceeded run (409 otherwise) from the nodes that did not succeed, using the flow as saved now, so it can spend credits again; newBudgetCap replaces the cap. "approve" decides a node waiting for approval: nodeId plus decision "approve" or "reject" are both required, and reject fails the whole run (409 if the node is not waiting). "rerun" starts a NEW run from nodeId and everything after it, reusing earlier outputs, and returns { newFlowRunId, estimatedCost }; it spends credits.
Inputs: action (required), context (required), flowRunId (required), llm_model (required), +4 more.
create_ad_creativeAd creativeAInspect
Generate an ad image with a text overlay. baseImageUrl and overlayConfig.headshotUrl must be your own uploads, or the request gets 400 before any credits are reserved. Spends Galatic.AI credits. Returns a job id; poll get_job_status with kind "ad_creative".
Inputs: prompt (required), context (required), llm_model (required), model, +5 more.
create_character_referenceCharacter referenceAInspect
Generate one reference-image candidate for a character in a series and return { name, outfit, referenceUri, previewUrl } when it is ready (it waits; no job to poll). Generation takes close to 30 s; if the request times out it checks for the finished image itself. If it is still not done it names a requestId: check it with get_job_status, kind "character_reference" (free), rather than starting a new request. The candidate is not saved on the character: to keep it, set that character's referenceImageUri with save_flow. name must match a character in the series that has a visual description. Spends Galatic.AI credits for one image (402 when the budget is short). seriesId is the flowId of the Flow Studio flow that holds the series (from list_flows).
Inputs: name (required), context (required), seriesId (required), llm_model (required), +3 more.
create_support_ticketContact supportAInspect
Send a message to Galatic.AI support. Stores a ticket linked to the signed-in user, emails a confirmation to email and notifies the support team; returns { ticketId, emailSent }. message must be under 5000 characters; category defaults to "general". Use list_my_tickets to see earlier tickets. The message goes to people, so do not send it without the user asking.
Inputs: name (required), email (required), context (required), message (required), +3 more.
delete_flowDelete flowADestructiveInspect
Delete a saved flow by flowId (from list_flows) and return { success, deletedAt }. This is a soft delete: the flow is marked deleted (deletedAt is set) and its record is kept, but there is no restore tool or route, and it disappears from list_flows. If the flow holds a series, every series tool then answers 404 for it. Use save_flow instead to change a flow.
Inputs: flowId (required), context (required), llm_model (required), conversation_id.
delete_gallery_itemDelete library itemADestructiveInspect
Permanently delete one item from the user's library by id (from list_gallery); there is no restore. It also leaves the community feed and any artist page it was on. For a file the user uploaded, the file itself is deleted and its storage freed. Returns { storageFreedBytes, artistProjectRemoved }; 404 when the id is not the caller's. Use share_gallery_item instead to only unshare an item.
Inputs: id (required), context (required), llm_model (required), conversation_id.
delete_voice_cloneDelete voice cloneADestructiveInspect
Delete one cloned voice by voiceId (from list_voice_clones). For a voice you own this is permanent: it is removed from the voice provider and from your library, and cannot be restored. A voice shared with you removes only your access; the owner keeps it. A voiceId the caller holds no record for is a 404.
Inputs: context (required), voiceId (required), llm_model (required), conversation_id.
draft_episode_scriptDraft episode scriptAInspect
Write an episode's scene-by-scene script: draft it from premise, or adapt the writer's own scriptText; pass exactly one (400 for both or neither). It replaces the episode's scenes and returns { episode, scenesGenerated, source, sceneCountCheck }; review and edit with save_episode before generate_episode. groundInResearch adds web research to a premise draft. The series needs at least one character, and an episode that is generating is refused. Spends Galatic.AI credits (402 when the budget is short). seriesId is the flowId of the Flow Studio flow that holds the series (from list_flows).
Inputs: context (required), seriesId (required), episodeId (required), llm_model (required), +4 more.
edit_imageEdit imageAInspect
Edit an existing image. mode "edit" applies prompt as a free-text instruction and always runs flux-kontext-pro (model is ignored). mode "improve" restyles the image with a preset (improvementType; prompt is ignored) on flux-kontext-pro or nano-banana-edit. image_url must be an image from this app: the publicUrl or presignedGetUrl returned by upload_media (after the PUT), or the contentUrl of an item from list_gallery or fetch, or a previous generation. Any other host is refused (400) without spending credits. Spends Galatic.AI credits. Returns a job id; poll get_job_status with kind "image".
Inputs: prompt (required), context (required), image_url (required), llm_model (required), +4 more.
episode_social_copyEpisode social copyAInspect
Draft ready-to-post captions for one episode: youtube (title, description, tags), tiktok, instagram, facebook, x and pinterest, each with a postingTip. Saves them on the episode, replacing any earlier copy, and returns { episode, socialCopy }. Posts nothing. Spends Galatic.AI credits (checked against the remaining budget first; refused with 402 when short). The prompt is written for a kids' animated show. videoAnalysis is optional; without it the captions come from the episode title and cast only. seriesId is the flowId of the Flow Studio flow that holds the series (from list_flows).
Inputs: context (required), seriesId (required), episodeId (required), llm_model (required), +2 more.
extend_videoExtend videoAInspect
Extend a generated video. estimateOnly defaults to true: a call without it returns the credit cost and spends nothing. Pass estimateOnly false to run the extension, which spends Galatic.AI credits and returns a job id. Poll get_job_status with kind "video_extend".
Inputs: context (required), llm_model (required), prompt, taskId, +5 more.
fetchFetch library itemARead-onlyIdempotentInspect
Get one of the user's library items by id (from search or list_gallery) as { id, title, text, url, metadata }. title is the item title or prompt; text is its prompt or description; url always links the gallery page, not the file; metadata is the full item, whose contentUrl and thumbnailUrl are signed, playable links. Read-only; 404 for an item that is not the caller's. Use search to find items by text.
Inputs: id (required), context (required), llm_model (required), conversation_id.
generate_episodeGenerate episodeAInspect
Estimate, generate or resume an episode render, or check its progress. Estimate first. generate and resume spend Galatic.AI credits and start a background render; poll with action "status" (not get_job_status), which returns status, contentUrl and, on failure, canResume. seriesId is the flowId of the Flow Studio flow that holds the series (from list_flows).
Inputs: action (required), context (required), seriesId (required), episodeId (required), +4 more.
generate_imageGenerate imageAInspect
Generate images from a prompt. model is required by the server (400 without it): a model id from list_models, such as "flux-pro"; video models are refused. count makes 1-4 images and is charged per image. imageUrls is used only by image-to-image models, which require it; text-to-image models ignore it. Most models run in the background and return the id as job_id; a few answer at once with { images } already saved to the library. With count above 1, the status poll reports complete after the first image; find the rest with list_gallery. Spends Galatic.AI credits. Returns a job id; poll get_job_status with kind "image".
Inputs: prompt (required), context (required), llm_model (required), count, +5 more.
generate_midiGenerate MIDIAInspect
Transcribe a separated track to MIDI. taskId is required: pass the completed stem-separation task id from separate_stems. The route returns 400 without it, and an audioUrl alone is not enough. Spends Galatic.AI credits. Returns a job id; poll get_job_status with kind "midi".
Inputs: context (required), llm_model (required), taskId, audioId, +2 more.
generate_musicGenerate musicAInspect
Generate a song or instrumental. The default engine is Google Lyria (songs with vocals or instrumentals, up to about 3 minutes), cleared for commercial use: Google claims no ownership of the output, but it is not a copyright grant and there is no IP indemnity; it needs the account's one-time 18+ confirmation in Music Studio. model: "lyria" asks for it explicitly; a "suno-..." model gives a Suno draft that is NOT cleared for commercial use. commercial: true marks the music as for YouTube, ads, a client or a release. With a suno model, customMode: true sings prompt as the lyrics: put real lyrics there, or leave customMode off. Spends Galatic.AI credits. Returns a job id; poll get_job_status with kind "music".
Inputs: prompt (required), context (required), llm_model (required), model, +8 more.
generate_music_videoGenerate music videoAInspect
Make a music video for a generated track. Spends Galatic.AI credits. Returns a job id; poll get_job_status with kind "music_video".
Inputs: taskId (required), audioId (required), context (required), llm_model (required), +3 more.
generate_videoGenerate videoAInspect
Generate a video from a prompt, optionally from a start image. model and prompt are both required by the server (400 without either). With imageUrl the video is image-to-video, starting from that frame. Spends Galatic.AI credits. Returns a job id; poll get_job_status with kind "video".
Inputs: prompt (required), context (required), llm_model (required), model, +6 more.
generate_voiceGenerate voiceAInspect
Turn text into speech with an ElevenLabs voice and return the result with its audio URL and audio_id; the clip is also saved to the user's library. It waits for the audio; there is no job to poll. voice_id is required by the server (400 without it): a voiceId from list_voice_clones or a stock ElevenLabs voice id; another user's clone is refused. options may set model_id (default "eleven_multilingual_v2"), stability, similarity_boost and style. Spends Galatic.AI credits.
Inputs: text (required), context (required), llm_model (required), options, +2 more.
get_account_statusAccount statusARead-onlyIdempotentInspect
Get the signed-in account in one call: { me, usage }. me.user has username, email, name and sub (no plan). usage has tier, tokensUsed, tokenBudget, tokensRemaining, topUpTokens, per-type counts, the month key, plan limits, storage and running jobs, and the full table of credit costs per model. Use it before an expensive job to check the balance; use get_profile for the public profile and get_model_pricing for prices. Spends no credits; the first call for a new account also creates its profile.
Inputs: context (required), llm_model (required), conversation_id.
get_billing_overviewBilling overviewARead-onlyIdempotentInspect
Not a credit balance: returns a rough dollar estimate for this month from counts of the user's library items at fixed per-type rates (currentBalance, nextBillAmount, nextBillDate), with empty invoices and paymentHistory. It does not show the plan, credit balance, holds or real charges; use get_account_status for the plan and this period's credit usage. Read-only.
Inputs: context (required), llm_model (required), conversation_id.
get_episodeGet episodeARead-onlyIdempotentInspect
Get one episode: its full record (title, status, season, chapter, scenes and script, contentUrl once rendered), with media URLs freshly signed. Use list_episodes to find an episodeId and save_episode to change it; use generate_episode with action "status" to follow a render. Read-only; 404 when the series is not the caller's or the episode does not exist. seriesId is the flowId of the Flow Studio flow that holds the series (from list_flows).
Inputs: context (required), seriesId (required), episodeId (required), llm_model (required), +1 more.
get_flowGet flowARead-onlyIdempotentInspect
Get one saved Flow Studio flow: the full record with nodes, edges and settings, and for a series its characters, voices and seasons. flowId comes from list_flows. 404 when the flow is deleted or not the caller's. Use save_flow to change it, run_flow to run it, and pass it to ask_flow_assistant for advice. Read-only.
Inputs: flowId (required), context (required), llm_model (required), conversation_id.
get_flow_runFlow runARead-onlyIdempotentInspect
Get one Flow Studio run: status ("running", "paused", "failed", "budget_exceeded", "cancelled", ...), nodeStatuses keyed by node id (a node waiting for a person reads "awaiting_approval"), billedCredits (what the account is charged), budgetCap, timestamps and the published output URL. Poll it after run_flow or a rerun; act on it with control_flow_run. Read-only; 404 for another user's run.
Inputs: context (required), flowRunId (required), llm_model (required), conversation_id.
get_job_statusJob statusARead-onlyIdempotentInspect
Check one async generation job and, once it has finished, get its result URLs. Use it after any tool that returns a job identifier and names a kind for it. Pass that returned string as jobId (some generation responses name it job_id or taskId); do not call this tool if the job id is missing, or when generation already returned a synchronous result. The response shape and status values depend on kind. Read-only, spends no credits. kind names the tool that returned jobId: generate_image and edit_image "image", generate_video "video", extend_video "video_extend", generate_music "music", remix_music "music_remix", generate_music_video "music_video", separate_stems "stems", generate_midi "midi", beat_sync "beat_sync", create_ad_creative "ad_creative", start_composition "composition", a video analysis "analyze_video", and create_character_reference "character_reference": pass its requestId as jobId with the same seriesId, name and outfit; it answers { ready: false } or { ready: true, referenceUri, previewUrl }. run_flow is polled with get_flow_run, and generate_episode with its own "status" action. seriesId is the flowId of the Flow Studio flow that holds the series (from list_flows).
Inputs: kind (required), jobId (required), context (required), llm_model (required), +4 more.
get_marketing_analyticsMarketing analyticsARead-onlyIdempotentInspect
Read analytics for one marketing campaign. report "performance" returns { items: [{ itemId, score, metrics }], totalItems }, best score first; "geo" returns performance by location and time slot; "titles" returns title-pattern A/B results; "history" returns { history } of publish records (platform, status, externalPostUrl, title, timeSlot). campaignId is required by every report (400 without it, 403 if it is not the caller's); get it from auto_publish_list_posts. Read-only.
Inputs: report (required), context (required), llm_model (required), campaignId, +1 more.
get_model_pricingModel pricingARead-onlyIdempotentInspect
Get what each generation model costs. Without modelId returns { prices }, optionally filtered by category (for example "image" or "video"); with modelId returns { price } for that model (404 if unknown) and category is ignored. Each price has modelId, category, unit, description, credits (charged per unit) and retailPrice in US dollars at the Creator plan's rate per credit (null when the model has no credit cost). Read-only; use before an expensive generation to quote the cost.
Inputs: context (required), llm_model (required), modelId, category, +1 more.
get_profileGet profileAIdempotentInspect
Get the signed-in user's creator profile as { profile }: displayName, bio, website, location, socialLinks, avatarUrl, coverUrl, isPublic, featured and hidden items, timestamps. The first call creates a default profile if the user has none. Use update_profile to change it, and get_account_status for plan and credit usage.
Inputs: context (required), llm_model (required), conversation_id.
get_prompt_suggestionsPrompt suggestionsARead-onlyIdempotentInspect
Get example prompts from the Galatic.AI prompt library. With modelId, returns up to 6 examples for that model (count defaults to 3; category, contentType and style are ignored). Without modelId, category is required (a template category id; the call fails without it) and returns up to 8 suggestions (count defaults to 4), optionally narrowed by contentType ("image", "video" or "audio") and style. Returns { prompts, source }. Use when the user wants ideas for what to make; use improve_prompt instead to rewrite a prompt they already have. Read-only, spends no credits.
Inputs: context (required), llm_model (required), count, style, +4 more.
get_queued_jobQueued jobAIdempotentInspect
Check one item in the user's Orion generation queue and, when it is at the head of the queue and a render slot is free, start it. Returns { queueId, kind, status, jobId, model, error, errorCode, createdAt }, plus position and retryAfterSeconds while it waits; status is "queued", "started", "failed" or "cancelled". This poll is not side-effect free: starting the item charges Galatic.AI credits for that job. Once status is "started", follow the returned jobId with get_job_status; use cancel_queued_job to drop an item that has not started. queueId comes from an Orion chat request that was queued because all render slots were busy; no other Galatic.AI tool returns one.
Inputs: context (required), queueId (required), llm_model (required), conversation_id.
improve_promptImprove promptAInspect
Rewrite a generation prompt and get the result back at once. mode "improve" (default) returns { originalPrompt, improvedPrompt }, a more detailed prompt for better output; "rephrase" returns { originalPrompt, rephrasedPrompt }, the same idea worded differently. Nothing is generated or saved. Spends chat credits per call. context is accepted but not used in either mode. Use get_prompt_suggestions for fresh ideas instead.
Inputs: prompt (required), llm_model (required), mode, context, +2 more.
list_artistsList artistsARead-onlyIdempotentInspect
List the signed-in user's AI artists, newest first, all in one response. Returns { artists }: summary rows with artistId, name, show, createdAt and a reference image URL when one is set. Use it to get an artistId for save_artist (update) or add_artist_project. Read-only; only the caller's own artists.
Inputs: context (required), llm_model (required), conversation_id.
list_communityCommunity galleryARead-onlyIdempotentInspect
Browse public creations other users shared to the community gallery (showcase false, the default), or the showcase for one template category (showcase true). Community returns { items, nextKey, count }, newest first: limit up to 50 (default 20), type filters by media type, and nextKey goes back in as lastKey for the next page; category is ignored. Showcase needs category, returns { items, count } (up to 50, default 20) and ignores type and lastKey. Use list_gallery instead for the user's own library; share_gallery_item adds an item to the community feed. Read-only; creators' userIds are not returned.
Inputs: context (required), llm_model (required), type, limit, +4 more.
list_episodesList episodesARead-onlyIdempotentInspect
List every episode of one series, sorted by season, chapter, then order, all in one response. Returns { episodes }, each the full episode record (episodeId, title, status "draft", "generating", "ready", "published" or "failed", scenes and script, contentUrl once rendered). Use get_episode for one episode and save_episode to add one. Read-only; a series the caller does not own is a 404. seriesId is the flowId of the Flow Studio flow that holds the series (from list_flows).
Inputs: context (required), seriesId (required), llm_model (required), conversation_id.
list_flowsList flowsARead-onlyIdempotentInspect
List the signed-in user's saved Flow Studio flows, deleted ones left out. Returns { flows } with each full flow record (flowId, name, nodes, edges, and for a series its characters, voices and seasons), plus nextToken when there are more. Only the first page of up to 50 is returned; this tool cannot ask for the next page. Use it to find a flowId for get_flow, run_flow, save_flow or delete_flow, and as the seriesId for the series tools (a series is a flow). Read-only.
Inputs: context (required), llm_model (required), conversation_id.
list_galleryList libraryARead-onlyIdempotentInspect
List the signed-in user's library, newest first: { items, nextKey, count } with signed media URLs; pass nextKey back as lastKey for the next page, keeping the same filters (cursors do not carry across filter changes). type filters by item type (image, video, audio, music, music-video, analysis), source by origin (e.g. "concierge"), since takes epoch milliseconds (not an ISO date). stats true ignores the rest and returns totals by type and the last 24 hours' count. Use fetch for one item, search to find by text. Read-only.
Inputs: context (required), llm_model (required), type, limit, +5 more.
list_modelsList modelsARead-onlyIdempotentInspect
List the generation models and what they accept. Returns { capabilities, status }: capabilities.models has each Kie.ai model's modelId, category, accepted inputs, aspect ratios and limits; status.models covers the Bedrock models plus two TwelveLabs entries that always read "active", so it is not a live health check of every model. Use get_model_pricing for costs and get_prompt_suggestions for example prompts. Read-only.
Inputs: context (required), llm_model (required), conversation_id.
list_my_ticketsMy support ticketsARead-onlyIdempotentInspect
List the signed-in user's support tickets, newest first, up to 50. Returns { tickets }, each with id, name, email, message, category, status and createdAt. Replies are not stored here; support answers by email. Use create_support_ticket to open a new one. Read-only.
Inputs: context (required), llm_model (required), conversation_id.
list_voice_clonesVoice clonesARead-onlyIdempotentInspect
List the signed-in user's cloned voices. Returns { voiceClones: [{ voiceId, voiceName, createdAt, provider, shared }], count }, all in one response. Use it to find a voiceId before generate_voice (pass it as voice_id); use delete_voice_clone to remove one. Read-only; only the caller's own clones are returned.
Inputs: context (required), llm_model (required), conversation_id.
publish_episodePublish episodeADestructiveInspect
Mark an episode as published (status "published", publishedAt set) and return it. This posts nothing and makes nothing public; it LOCKS the episode: scene re-makes and music changes are refused afterwards, and there is no unpublish. The route does not check that the episode has rendered. Use only when the user is sure no more re-makes are wanted; use episode_social_copy for captions. seriesId is the flowId of the Flow Studio flow that holds the series (from list_flows).
Inputs: context (required), seriesId (required), episodeId (required), llm_model (required), +1 more.
publish_post_nowPublish post nowADestructiveInspect
Publish a post to the user's connected social accounts immediately. Visible to the public.
Inputs: postId (required), context (required), llm_model (required), conversation_id.
remix_musicRemix musicAInspect
Extend a track, cover an uploaded track, add vocals, or extend an upload. Spends Galatic.AI credits. Returns a job id; poll get_job_status with kind "music_remix".
Inputs: action (required), context (required), llm_model (required), model, +9 more.
run_flowRun flowAInspect
Run a saved flow, optionally with a credit budget cap. Spends Galatic.AI credits. Returns a flowRunId; poll get_flow_run with it (not get_job_status).
Inputs: flowId (required), context (required), llm_model (required), budgetCap, +1 more.
save_artistSave artistAInspect
Create an AI artist (no artistId) or update one of the user's artists, and return { artist }. Create needs name; the artistId is made from the name and a taken one is refused (409); referenceImageKey is ignored on create, so set the photo with a second call. Update changes only the fields passed (403 for another user's artist); styleDescriptors replaces the list, and referenceImageKey must be under the user's own gallery prefix (null removes the photo). referenceImageKeys sets the list of reference photo OPTIONS (up to 6, each under the user's gallery prefix) and does not change the active photo. activeReferenceKey switches the active photo and changes the face in the artist's videos, so it must be one of the options or the current photo. artistId comes from list_artists.
Inputs: context (required), llm_model (required), bio, name, +8 more.
save_episodeSave episodeAInspect
Create an episode (no episodeId) or update one. season: 1-99, or 0 for Extras; chapter: {number, title} or null. seriesId is the flowId of the Flow Studio flow that holds the series (from list_flows).
Inputs: context (required), seriesId (required), llm_model (required), order, +6 more.
save_flowSave flowAInspect
Create a Flow Studio flow (no flowId; name required) and get { flowId, version }, or update one of the user's flows (404 otherwise) and get the new version. On update, nodes, edges, characters and voices each replace the stored array when passed and are kept when omitted. nodes and edges must form a graph with no cycle (400). aspectRatio is "16:9" or "9:16"; visualStyle at most 600 characters; seasons up to 99 of { number 1-99, title, blurb }; executionMode "step-functions" (default) or "bedrock-flows". Spends no credits; use run_flow to run it. A flow with characters and seasons is a series for the episode tools.
Inputs: context (required), llm_model (required), name, edges, +10 more.
searchSearch libraryARead-onlyIdempotentInspect
Search the signed-in user's Galatic.AI library. Videos are matched by meaning (what happens in them, what is said), anything else by its prompt or title. Returns {results:[{id,title,url}]}.
Inputs: query (required), context (required), llm_model (required), conversation_id.
separate_stemsSeparate stemsAInspect
Split a track into vocals and instruments. Spends Galatic.AI credits. Returns a job id; poll get_job_status with kind "stems".
Inputs: context (required), llm_model (required), mode, taskId, +3 more.
start_compositionMulti-scene compositionAInspect
Estimate, start or retry a multi-scene video composition. Estimate first: action "estimate" returns the credit cost and spends nothing. "start" begins the composition, which needs a prompt. "retry" re-runs a composition by compositionId. Spends Galatic.AI credits. Returns a job id; poll get_job_status with kind "composition".
Inputs: action (required), context (required), llm_model (required), model, +13 more.
update_profileUpdate profileAInspect
Update the signed-in user's public creator profile and return it as { profile }. Only the fields you pass change; socialLinks is replaced as a whole, not merged, and a call with no fields is refused (400). isPublic false hides the profile page from other users and from profile search and suggestions (default true). Use get_profile first to see the current values. The change is visible to other users when the profile is public.
Inputs: context (required), llm_model (required), bio, website, +6 more.
upload_mediaUpload mediaAInspect
Get a presigned URL to upload one file: then PUT the bytes to uploadUrl within 10 minutes with the same Content-Type (and exactly sizeBytes, when given). Returns { uploadUrl, publicUrl, presignedGetUrl, s3Key, assetId }; both GET URLs expire after one hour. type is required by the server (400 without it). Images, video, audio and documents are accepted, within the plan's size and storage limits (403/413). The upload does not appear in list_gallery: it is a file you can pass by URL or s3Key to tools such as edit_image or save_artist.
Inputs: type (required), context (required), fileName (required), llm_model (required), +4 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Make AI images, video, voiceovers and music, and edit video, from your assistant. Paid in credits.
Create AI images, clips, voice-overs, music and editable storyboard films from your AI assistant.
Make images and video with 30+ AI models from your assistant, on your own credits and library.
Create images, video and audio; reuse assets and build Canvas workflows from your AI assistant.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceGenerate and refine AI images/audio/video through natural conversation.412Apache 2.0

SaleMate MCPofficial
AlicenseNot gradedqualityCmaintenanceEnables AI assistants to create product videos, UGC ads, scripts, voice-overs, product photos, and other media using account credits, with price checks, spending limits, and library management.MIT- AlicenseNot gradedqualityCmaintenanceLets chat assistants such as ChatGPT, Claude, Cursor and Codex generate and edit photos, video, music and voiceovers across 100+ AI models, including canvas storyboarding and file attachments. Generation is priced in account coins with an explicit model-and-price approval step before any charge.MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to create video replicas by providing a product image and a reference video, with status tracking and credit management.-
Glama MCP Gateway
Add one secure layer between your agents and this server.