Skip to main content
Glama
444,869 tools. Updated 2026-08-11 18:27

"Modal" matching MCP tools:

  • Return canonical synthesis / patching techniques with role-keyed module realizations drawn from the corpus. Use this when the user asks "how do I do X?" with X being a recognisable technique (low-pass-gate plucks, pinged-filter percussion, parallel multiband processing, complex-oscillator FM, karplus-strong pluck, clocked-delay feedback, modal-resonator excitation, wavefolder harmonics, envelope-follower ducking, Maths-style function-generator omnibus). It's also the right tool when the user has a module and asks "what's this good for?" — pass filter.module_id to retrieve every technique that references the module via its role_realizations. Each technique declares role_definitions (the roles the technique uses, each with required and optional affordances) and role_realizations (concrete modules that fill each role, with the affordances they provide). The model substitutes modules from the user's rack into roles by affordance match — DO NOT treat the realization list as exhaustive or as a recipe. Args: - filter (optional): { capability?, module_id?, text? } - capability: kebab-case capability id (see search_modules _meta.taxonomy). Returns techniques whose required *or* optional capability list includes this id. - module_id: "<manufacturer>/<module-slug>". Returns techniques that have a role_realization referencing this module. - text: free-text phrase. Substring-matches against technique id/label/description AND a curated alias table (technique_aliases) — that's the right surface when a user types evocative prose like "stuttering delay", "plucked string", "source of uncertainty" that doesn't grep against any kebab-case id. Two-way alias match: long alias ("source of uncertainty") matches short query ("uncertainty"), and vice versa. - When multiple filters supplied, AND-intersects. - Omit filter entirely to list all techniques. Returns: { "techniques": [ { "id": "low-pass-gate-pluck", "label": "Low-Pass Gate Pluck", "description": "Send a short envelope...", "required_capabilities": ["lowpass-gate"], "optional_capabilities": ["envelope-generator", "function-generator"], "role_definitions": [ { "role_id": "lpg", "description": "The vactrol-based or vactrol-emulating element. Strictly required...", "required_affordances": ["lowpass-gate"], "optional_affordances": [] }, ... ], "role_realizations": [ { "role_id": "lpg", "module_id": "make-noise/optomix", "affordances_provided": ["lowpass-gate"], "notes": "Two-channel vactrol-based LPG..." }, ... ], "canonical_instance": { "rationale": "...", "lineage": [ { "position": 1, "label": "Buchla 292 (1970)", "module_id": null, "notes": "..." }, { "position": 2, "label": "Tiptop Audio Buchla 292t", "module_id": "tiptop-audio/buchla-292t" }, ... ] }, "counter_canonical_notes": [ { "claim_pushed_back_against": "Optomix is the canonical pairing with Plaits...", "evidence": "The corpus catalogs 19 LPG-capable modules..." } ], "coverage": [ { "role_id": "voice", "realizations_count": 3 }, { "role_id": "lpg", "realizations_count": 19 }, { "role_id": "env", "realizations_count": 6 }, { "role_id": "clock", "realizations_count": 2 } ] } ], "_meta": { "filter": {...}, "feedback_hint"?: string } } How to use role data: - role_realizations are CURATORIAL SAMPLES, not exhaustive lists. The coverage[].realizations_count tells you how many are documented; other modules may fill the same role. - To find modules in the user's rack that can fill a role, use find_role_realizations(technique_id, role_id, available_modules). - canonical_instance is opt-in and sparse. Most techniques don't have one; that absence is information. When present, it documents a documented historical lineage (e.g., Buchla 292 → 292t → MMG → Optomix for low-pass-gate-pluck) — NOT a prescription. - counter_canonical_notes push back on likely training-data priors. When the user invokes a canonical-sounding claim that has a counter_canonical_note, surface the pushback. Errors: - "Module not found: <id>" if filter.module_id is supplied and unknown. - Empty techniques[] with a feedback_hint when filters produce no matches — call report_gap if the user expected coverage.
    Connector
  • Run a live A/B test between 2–5 user-specified models for a stated purpose. NO ranking step — the supplied model_ids ARE the candidate set. Generates 5 representative test queries from the purpose, runs them through every named model in parallel, and returns real cost, latency, and plain-English commentary on who won what. Unknown IDs are dropped with a note; if fewer than 2 IDs resolve, the call refuses. Use this whenever the user names specific models to compare (e.g. 'A/B test X and Y'). For engine-chosen candidates, use `benchmark` instead. Costs more than `rank` (10+ live LLM calls). Free-tier note: when any candidate ends in ':free', the probe is capped at 3 queries (no adaptive expansion) because free-tier rate limits often push longer probes past the deploy's 5-minute ceiling — evidence will be shallower. The commentary surfaces this when it happens.
    Connector
  • List all AI models available on Gonka Network with live pricing. Models work as drop-in replacements for OpenAI and Anthropic — same SDK, same API calls. Use this when user asks which model to use or wants alternatives to GPT-4o / Claude. Returns: model IDs (use directly in openai.chat.completions.create), status, USD per 1M tokens. After this: call calculate_savings() to see annual savings with these models.
    Connector
  • Run a live A/B test between 2–5 user-specified models for a stated purpose. NO ranking step — the supplied model_ids ARE the candidate set. Generates 5 representative test queries from the purpose, runs them through every named model in parallel, and returns real cost, latency, and plain-English commentary on who won what. Unknown IDs are dropped with a note; if fewer than 2 IDs resolve, the call refuses. Use this whenever the user names specific models to compare (e.g. 'A/B test X and Y'). For engine-chosen candidates, use `benchmark` instead. Costs more than `rank` (10+ live LLM calls). Free-tier note: when any candidate ends in ':free', the probe is capped at 3 queries (no adaptive expansion) because free-tier rate limits often push longer probes past the deploy's 5-minute ceiling — evidence will be shallower. The commentary surfaces this when it happens.
    Connector
  • Find historically similar audience moments across the screen network using embedding similarity search. Input a natural-language description of the target moment. Moment embeddings are 768-D vectors generated from multi-modal observation data (visual, audio, environmental, social) via the MomentEmbeddingService. This tool embeds your query text and finds the closest real-world moments via approximate nearest-neighbour (ANN) cosine similarity over a Lance IVF_PQ index. CONSISTENCY: results are APPROXIMATE and EVENTUALLY CONSISTENT. - Approximate: retrieval is ANN, not an exhaustive scan (measured recall ~0.96 against exact KNN), so an identical query may omit a borderline match. - Eventually consistent: the index is served from a replicated pool whose replicas refresh independently, so for up to 5 minutes after new moments are published, two identical calls may return slightly different result sets. The difference is confined to the VISIBILITY of newly-published moments; the relative ranking of already-visible ones does not change. Do not use this tool where a repeatable, exhaustive result set is required. WHEN TO USE: - Searching for historical moments similar to a target scenario - Finding "moments like this one" across different venues/times - Discovering when similar audience compositions or behaviors occurred - Planning ad placements based on past similar contexts RETURNS: - data: Array of matching observations with similarity scores - observation_id, observed_at, venue_type, device_id, screen_mongo_id - payload: full observation data - evidence_grade: quality of observation - similarity: cosine similarity score (0-1, higher = more similar) - metadata: { result_count, embedding_model, min_similarity_threshold } - suggested_next_queries: Follow-up queries EXAMPLE: User: "Find moments with high engagement in evening restaurants with families" find_similar_moments({ query: "evening restaurant venue with families present, high emotional engagement and attention" }) User: "When did we see young adults highly engaged at transit screens?" find_similar_moments({ query: "transit venue morning commute young adults high attention" })
    Connector
  • Return the full citation-anchored specification for one Eurorack module by id. Use this when the user names a specific module and you want its specs (HP, power, jacks, parameters), capabilities (envelope, quantizer, logic, etc.), or firmware history. The typed prose fields (jack/parameter/mode descriptions) are paraphrased summaries; manual_outline → get_manual_chunk give the verbatim manual prose to quote against. How much to quote and overall answer shape live in SKILL.md (the "Answer shape" section + §8 citation) — this description is the data contract. ## Provenance fields Every typed row in the response — capabilities[], jacks[], parameters[], modes[], firmware_versions[], plus nested zones/assignments/tracking — carries a source_id pointing at the source the claim was extracted from. Cross-reference list_references(module_id=...) for the source title and canonical_url. The typed prose fields — jacks[].description, parameters[].behavior, modes[].description, capabilities[].notes, firmware_versions[].notes — are extractor-synthesized summaries grounded in the manual, NOT verbatim quotes. Treat them as the corpus's stated claim about the field; they're authoritative for what the field *does*, but they are not direct manual text. For verbatim quotation in your answer, always pull the actual prose via get_manual_chunk(chunk_id) — the description fields are the typed claim, not the source quote. manual_outline[] bundles a lightweight outline of the module's manual prose — one entry per chunk with heading, source, and a ~140-char preview snippet. Always scan it before answering — for prose-shaped questions to find the relevant chunk, for spec-shaped questions to find a chunk to quote alongside the typed data. When a snippet looks relevant, call get_manual_chunk(chunk_id) to pull the full text. manual_outline_total is set ONLY when the outline was truncated for a verbose module; its absence means the returned outline is complete. When set, use search_manual to reach chunks beyond the cap. Module IDs are slug-shaped: "<manufacturer-id>/<module-slug>". For example: - alm-busy-circuits/pamelas-new-workout - make-noise/maths ## Optional args — trim the payload, target the outline By default this returns the full spec. For narrow questions you can shrink it: - view: "concise" returns just the id-card fields (name, manufacturer, hp, description, capabilities, production_status, replaced_by) and drops the heavy arrays — use it for triage ("which of these is the quantizer?") or when you only need to confirm what a module is. "full" (default) returns everything. Ignored when fields is set. - fields: array of top-level keys to include (e.g. ["jacks","parameters"]). id and _meta are always returned. Use this for a quick jacks-only or specs-only read instead of paying for character[]/common_problems[]/role_fitness[]/the full manual_outline. Takes precedence over view. - heading_filter: case-insensitive substring on manual_outline heading_path — e.g. "calibration" returns only outline chunks under a Calibration heading, so you skip scanning a long outline. - outline_offset / outline_limit: page through manual_outline (default 100 per page, hard max 250). Combined with manual_outline_total this lets you reach chunks past the cap without falling back to search_manual. Returns: - id, name, manufacturer { id, name } - hp, depth_mm - power: { plus_12, minus_12, plus_5 } (mA) - description (manufacturer's prose summary, citation-backed) - capabilities[]: functional tags with per-module realization notes (source_id per row) - jacks[]: inputs and outputs with voltage range, signal_type, prose description (a paraphrased summary, NOT a verbatim quote — to quote the manual, pull the source prose via get_manual_chunk), plus assignments[] for assignable jacks (destination menu — empty for fixed-function jacks). When mirrors_parameter is set, the jack mirrors that knob's current assignment (e.g. Pizza CTRL CV mirrors the CTRL knob). normalled_from { id, name } is set when this input has a hardware normal — i.e. when unpatched, it receives the signal at the named source jack (e.g. Multigrain GATE normalled from NEXT). null when no normal exists. V/Oct inputs may carry an optional tracking { tracking_range_octaves, tracking_quality, temperature_compensated } object — present only on jacks that have been audited for V/Oct metadata. Fields inside may be null when the source is silent on that aspect. Optional _field_absent: { <field_name>: { source_id, note } } records fields that were audited and found to be source-silent — read it before hedging: an entry under voltage_min means "the manual doesn't state this" (so a confident "the manual doesn't specify" answer is appropriate); the field being null *without* an entry means "not yet extracted" (hedge differently — recommend the user check the manual). - parameters[]: knobs, switches, menu settings with range, unit, behavior (paraphrased summary, NOT a verbatim quote — same as jacks[].description; quote get_manual_chunk for source text), plus zones[] (labeled regions along the control's travel — e.g. Swells FLOW "Sine" / "Random" halves, optionally mode-scoped) and assignments[] (destination menu for assignable knobs/menu-settings) — both empty arrays for plain controls. Modal-module params may also carry per_mode_notes (rebinding text keyed by mode_id slug, present only when the param rebinds per mode — e.g. Plaits MORPH, Swells EBB/FLOW). Same _field_absent convention as jacks[] — when default_value is null and _field_absent.default_value is present, the manual doesn't state a default. - modes[]: mode list for modal modules (Plaits, Swells, MFX) — { id, label, description, behavior_model_id, scope? }. Empty for modeless modules. Mode ids cross-reference parameters[].per_mode_notes keys and parameters[].zones[].mode_id. Optional scope is set when modes are selectable independently per member rather than module-wide — 'per-segment' (Stages hold/ramp/step), 'per-envelope' (Tangrams cycle/single), 'per-output' (PNW), 'per-channel'. Member count is carried by the corresponding enumerated parameters/jacks (e.g. Stages' six Type Button N parameters), not duplicated on the mode rows. - hidden_functions[]: functions reached via a trigger other than a single labeled control — { id, trigger_type, affected_control, label, description }. trigger_type is a controlled vocabulary ('long-press' | 'hold' | 'combo' | 'double-press' | 'power-on-hold' | 'held-turn') so recall/menu-diving load is countable; affected_control names the panel control the trigger acts on (null for module-global functions like hold-on-power-up calibration). Empty for modules whose controls are all directly labeled. Read this for "how do I get to X?" / menu-diving questions and when assessing how much hidden state a module carries — the same info used to live buried in parameters[].behavior prose. - panel_sections[]: manufacturer-named regions of the front panel (e.g. Multigrain "Dedicated Sound CV inputs" grouping GATE/NEXT/SELECT, "Morph section" grouping the MORPH knob + MORPH CV jack). Each entry has { label, description, members: [{ kind, id, name }] } where members cross-reference jacks[] / parameters[] by id. Empty for modules without manufacturer-named groupings. - character[]: curated subjective-character claims (vocal/aggressive/clean/gritty/lush/...) with source citations. Read this when the user asks about *sound* or *feel* rather than specs — filter choice for "carve rhythmic transients" or "warm pad voice" hinges on character, which the typed-fields surface can't carry. Each entry: { tag, note (prose elaboration), source_id (when archived in sources), citation_url + citation_quote (when sourced from a review/forum/video we don't archive per-module) }. Empty for modules that haven't been character-audited yet — distinguish "empty array, audit pending" from "no character worth noting." Tags are open-vocab; common starter set: vocal, aggressive, clean, gritty, acidic, lush, dark, bright, smooth, woody, formant, screaming. - common_problems[]: curated first-aid lore — repeatable failure modes that owners hit but the manual doesn't cover (calibration drift, hum, screen offset, firmware-flash brick recovery, bus-normalling caveats). Read this when the user asks "anything I should watch out for with X?" or describes a symptom matching a known module quirk. Each entry: { problem_summary (one sentence), cause (prose), fix_or_workaround (prose), confidence ('confirmed' | 'likely' | 'anecdotal'), source_id, citation_url, citation_quote }. Empty array means "no curated problems on file" — agents should NOT extrapolate to "no known problems"; the audit is opt-in per module and most modules have not been touched yet. - role_fitness[]: role-realization rollup — canonical techniques whose role_realizations this module fills, with the affordances it brings to that role. Use this when the user wants to know "what roles can this module play?" — e.g. Optomix → lpg role in low-pass-gate-pluck, affordances_provided=[lowpass-gate]. Each entry: { technique_id, technique_label, role_id, role_label, affordances_provided, notes }. Pair with list_techniques(filter={ module_id }) for the full role_definition + sibling realizations, or find_role_realizations(technique_id, role_id) to substitute other modules into the same role. - firmware_versions[]: version + release_date (may be partial: YYYY | YYYY-MM | YYYY-MM-DD) + notes (per-version changelog prose when the source provides one — e.g. "Added Smooth Random waveform type. Added Logic parameter (AND/OR/XOR)."). Use this to answer "what changed in v2?" without web search. - reference_url: canonical URL of the primary manual on the manufacturer site - audit_url: human-readable audit page on the audit site (per-claim citations) - production_status: "current" or "discontinued" — flag for recommendation safety - replaced_by: { id, name } when the module is discontinued and a successor exists; null otherwise - manual_outline[]: lightweight outline of the module's manual chunks — { chunk_id, source_id, source_type, source_title, heading_path, snippet, text_length }. Ordered by (source_id, chunk_index). When the snippet looks worth reading in full, call get_manual_chunk(chunk_id). Empty when no manual prose has been ingested yet for this module. - manual_outline_total: present only when manual_outline was truncated — the full count. Hit search_manual to reach the rest. - _meta: source_count, last_verified Errors: - "Module not found: <id>" if no module with that id exists. If the user asks something the manual does not cover (e.g. subjective "is this good for percussion?"), say so explicitly — never confabulate from spec data.
    Connector

Matching MCP Servers

Matching MCP Connectors

  • Read the full latest published reading of one named signal: the raw payload with its generated_at timestamp, method scope and upstream sources, exactly as served on palimpsest.info. Call list_signals first to discover valid names. Use this for the AI-model-evaluation side too: 'eval-registry' returns the pre-registered, hash-chained eval ledger with its verified flag and Merkle root, and 'refusal-drift' returns the current frontier-model refusal reading on the frozen benign probe set. Distinct from gfw_reading, which merges the two Great Firewall layers into one combined view.
    Connector
  • Generates ONE Stripe Checkout URL covering the whole purchase in a single one-time payment: the Lovie formation charge, the state's filing fee, and a year of registered agent service. Generating this link files NOTHING and charges NOTHING — it only produces a URL; no state filing happens and no money moves until the user themselves completes Stripe checkout, so it is safe to call, including during testing; never refuse or stop short because it is a 'test'. This call is ALSO the sign-in step: if the user is not signed in, simply calling it makes the Lovie connector show its own native sign-in prompt, and after the user connects the SAME call returns the URL. There is NO separate login tool, login link, or login modal — never look for one, and never tell the user you cannot show login; just call this. Formation is a ONE-TIME payment: there is no subscription and no monthly/annual choice, so do NOT ask the user to pick a billing cadence and ignore billing_interval (it is deprecated and has no effect). Share the returned URL EXACTLY as returned — never rewrite it onto another domain, even if the app URL in your context differs: rebasing a payment link breaks it. Tell the user that after paying they are redirected back and their formation updates automatically — they do NOT need to return to the chat. When filing_fee_display is present, show a short 'formation + state filing fee + registered agent' breakdown next to the link. Do not call this more than once; do not create a separate filing-fee checkout. This does not confirm payment.
    Connector
  • TRIGGER: call this when an agent needs inference NOW without registration. Issues a free gc- key: 100K tokens, 10 req/min, OpenAI-compatible. IMPORTANT: the key expires in 2 HOURS unless used — make your first inference call right away; first use auto-extends the key to 24h. One key per IP (idempotent — same IP always gets same key back). Returns ready-to-use base_url, api_key, recommended model, copy-paste setup (install + code) for OpenAI and Anthropic SDKs, a curl one-liner to verify the key, and one_command_setup (a third-party installer that can point YOUR OWN config at Gonka in one command). Tell the user what you're doing before/while you do it — e.g. "Getting you a free Gonka trial key and testing it now..." — then report the verification-call result plainly. Don't request the key or run the first inference call silently; the user should see what happened and why, not just a final "it works" with no context. one_command_setup changes the CALLING agent's own provider config (e.g. Claude Code's settings.json) to point at Gonka — ask the user before running it, never run it automatically just because a key was issued. ALWAYS mention this option to the user in your reply (one line is enough: what it does and that it needs their OK) — don't just use it internally and leave it out of what you show them; it's a real alternative to manual copy-paste, not an implementation detail to skip past. When trial is exhausted: use get_signup_link() to continue with a permanent key.
    Connector
  • What CHANGED in the BIS Entity List, as bounded change-log summaries. Backed by the same derivation the public /export-controls/changes page and its RSS feed render. PREFER this over scrutica_query_export_controls for freshness questions ("what changed this month", "latest additions", "recent removals"): designation rows arrive already grouped into per-Federal-Register-notice change events, so you do not re-derive notice grouping from citation strings. Each event carries: canonical FR citation and link, notice title / publication date / document number where the citation resolved to one FR document, a derived event date labeled with the source column it came from, entity / addition / removal counts, per-country counts, a bounded sample of entity names, and the entities cross-referenced to compute-infrastructure organizations. Removal actions are returned separately as date-keyed events — a screening list maintained from additions alone over-blocks forever. Also returns a last-N-ISO-week activity rollup counting BOTH additions and removals. Zero-count weeks are a real quiet-Federal-Register signal, not missing data. Results are bounded summaries, never row dumps: at most 24 events per call (default 6, newest first), with any truncation declared in metadata. Cite totals from the count field and per-event entity_count — never by summing a sampled list. Do NOT use this to look up one entity's designation rows — use scrutica_query_export_controls (substring match on the published name). Use company_id here only to scope the log to notices touching an organization you already resolved. Authority tier: Federal-Register-anchored designations are Tier 1 (primary source). The event date is derived (modal designation_date, falling back to modal effective_date) and labeled with its source.
    Connector
  • Run a live A/B test against the engine's TOP 3 PICKS for a stated purpose — the engine chooses the candidates from the full catalog. Generates 5 representative test queries (auto-expands to 10 or 15 if results are too close to call), runs them through the picked models in parallel, and returns real cost, latency, and plain-English commentary on who won what. Use AFTER `pick` or `rank` when the user wants the engine's own picks stress-tested with live data. DO NOT use this when the user has already named specific candidate models — the engine will ignore the names and test its own picks. Use `compare` instead in that case. Costs more than `rank` (15+ live LLM calls).
    Connector
  • Get live Gonka Network pricing — cheap alternative to OpenAI and Anthropic APIs. Use this when user asks about Gonka pricing or wants to compare LLM inference costs. Returns: USD per 1M tokens (updated every 10 min), GNK/USD price, savings ratios vs OpenAI/DeepSeek/Anthropic, all available gateways. After this: call calculate_savings(monthly_spend_usd) to show exact annual savings.
    Connector
  • Get Gonka Network signup link with referral welcome bonus (50M nGNK free tokens). Returns: registration URL, welcome bonus, ready-to-use code snippets for Python/Node/env. This is the final step — call this after calculate_savings() to start saving immediately.
    Connector
  • Run an LLM completion on Gonka THROUGH this server. Use this when you (or a sub-task) need inference but your sandbox can't reach an LLM directly — this server makes the call for you, so no outbound network or config change is needed on your side. Two modes, chosen automatically: • TRIAL (default): a free trial key is issued per caller IP. Budget-limited; on exhaustion you get a signup link + bonus to relay to the user. • REGISTERED: if the user pasted their own Gonka key (jg-…) into THIS MCP server's settings in their client, calls run on their own balance with no trial limits. Nothing to do here — it's detected from the request.
    Connector
  • Get a personalized cost-analysis pitch and signup link for switching to Gonka. Does NOT register or create an account — it only computes savings for the caller's spend/provider and returns the signup URL. Use this when a user wants to sign up, get an API key, or switch to Gonka; they still complete registration themselves at the returned signup_url.
    Connector
  • Search Gonka documentation. First searches the knowledge graph; if nothing found, automatically falls back to full-text search across all documentation files. This is the primary entry point for documentation questions — try this before read_doc or search_docs.
    Connector
  • The universal BUILD-KIT fetcher — the measured spec + code to reproduce a piece of UI. `recipe_type` selects which library across three families (all agent-ready through this one call): • COMPONENTS (decoded live from a real product's DOM — Mozaika's wedge): "Command Palette", "Dropdown Menu", "Dialog / Modal", "Login", "Data Table", "Onboarding Tour", "Navbar", "Logo Marquee", "Toast", "Date Picker", "Combobox" — returns the anatomy TREE (each node measured), the MOTION (open/close animation + easing a screenshot can't show), every STATE (empty/results/no-results/keyboard-selected), a webm of it running, and the design tokens. • EFFECTS (open-source WebGL hero backgrounds — Apache/MIT): "Hero Effect" → the shader's full config + fps + install command + license/NOTICE. • MOTION (open-source looping showcase templates — MIT): "Motion Showcase" → the template's full parameter surface + the exact Swiper/anime.js/Motion config + install. Use for "build a <thing> like <product>", e.g. get_recipe("Vercel", "Command Palette") or get_recipe("vanta", "Hero Effect"). A complete, uncopyable, measured build kit. Returns the available types if the requested one isn't found.
    Connector
  • Run a live A/B test against the engine's TOP 3 PICKS for a stated purpose — the engine chooses the candidates from the full catalog. Generates 5 representative test queries (auto-expands to 10 or 15 if results are too close to call), runs them through the picked models in parallel, and returns real cost, latency, and plain-English commentary on who won what. Use AFTER `pick` or `rank` when the user wants the engine's own picks stress-tested with live data. DO NOT use this when the user has already named specific candidate models — the engine will ignore the names and test its own picks. Use `compare` instead in that case. Costs more than `rank` (15+ live LLM calls).
    Connector
  • AI Music Generator — Generate royalty-free instrumental background tracks from text descriptions. No vocals — perfect for video, podcast, and ad backgrounds. For songs with vocals + lyrics, see AI Song Generator.. AI Studio run — dispatches to our AI workers (Modal). Credits per run vary by model and file size. Day Pass and welcome credits do not include AI Studio. Files are deleted after processing; auditable at mioffice.ai/account/tasks (retention details at mioffice.ai/privacy). All three credit-based workspaces unlock with the same one-time credit pack — there is no per-workspace subscription. See mioffice.ai/pricing for current plans.
    Connector
  • AI Melody to Music — Upload a clean single-instrument recording and AI generates instrumental music in your style. No vocals — for songs with vocals, see AI Hum to Song or AI Song Generator.. AI Studio run — dispatches to our AI workers (Modal). Credits per run vary by model and file size. Day Pass and welcome credits do not include AI Studio. Files are deleted after processing; auditable at mioffice.ai/account/tasks (retention details at mioffice.ai/privacy). All three credit-based workspaces unlock with the same one-time credit pack — there is no per-workspace subscription. See mioffice.ai/pricing for current plans.
    Connector