Skip to main content
Glama
728,638 tools. Updated 2026-10-31 13:08

"Gcore" matching MCP tools:

  • Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks. Call with NO args for a `trending_scan` of the top ~200 markets by weekly volume; pass `event` for the strongest per-event partition_check, or `topic` for a themed cross-event scan. `event` (recommended for a specific market): pass a Polymarket event slug like "fed-decision-may-2026" or "when-will-bitcoin-hit-150k"; walks child markets, checks date-axis / threshold-axis ordering AND computes the partition_check (sum of YES prices across mutually-exclusive legs — should ≈1; deviations >3pp emit a BUY/SELL EVERY LEG signal). `topic` (for cross-event scanning): pass a seed question like "Strait of Hormuz traffic returns to normal" or "Fed rate decision"; searches related events across the platform, flattens markets, runs the comparator on the union. Cross-event mode catches "...by May 31" vs "...by Jun 30" patterns that single-event misses. SEMANTIC ANCHOR: cross-event pairs require ≥0.30 Jaccard similarity on question tokens (prevents Powell-Fed-Pause being paired with Powell-DOJ-probe); skipped_low_similarity surfaces the rejected pair count. PARTITION FILTER: drops will-person-X / will-manager-Y / will-someone-else- placeholder slugs; partitions with >20% placeholder fraction return null arb signal. Response: opportunities[] (gap_pp, suggested_trade, reasoning, monotonicity violation context), and in event mode partition_check{sum_yes_prices, gap_from_1, placeholders_filtered, suggested_trade}. FEES: every opportunities[] row and partition_check.arbitrage carry edge_pp_gross (== gap_pp / overround_pp), fees_pp, edge_pp_net, net_positive, plus polymarket_fee_pp, fee_basis and fee_categories[]. BOTH cost components are modeled: Polymarket's own per-category TAKER FEE (fee = shares × rate × p × (1-p), rates crypto 0.07 / sports-economics-culture-weather-other 0.05 / finance-politics-mentions-tech 0.04, geopolitics and world events fee-free; verified against Polymarket's own docs as of 2026-09-13) and Polygon gas (~$0.02/leg). The taker fee dominates: ~$1.75 per 100 shares on a crypto market at 50c versus $0.02 of gas, so rows that looked profitable before fleet #1927 may now show net_positive:false — that is the correction, not a regression. Each leg is priced at ITS OWN market's rate and price (the fee curve peaks at 50c and falls toward both extremes). fee_basis says where the rate came from: 'payload' (read off the market, the normal case), 'category' (mapped from its fee category), 'fee_free', or 'fallback' (rate unknown — charged at the modal 0.05 rather than assumed free, so an unreadable market is never reported as costless). Where fill_check reprices against live depth, this does NOT double-count that spread cost. FILL CHECK: when the partition signal fires, arbitrage.fill_check prices it against live CLOB depth (theoretical_edge_pp_at_book vs realizable_edge_pp at 1000 shares/leg, thin_legs[]) — realizable_edge_pp ≤ 0 means the overround exists only at last-trade, not in the book; do not trade it. For custom sizing use polymarket_fill_risk.
    ConnectorNo auth
  • Score landing-page copy for conversion: 0-100 with a 5-part breakdown (headline, value proposition, social proof, CTA, friction), the top 3 issues, and 3 quick-win rewrites. Use for a page's text. URLs are not fetched; paste the text. For social posts, use predict-viral-potential. Pay-per-call: $0.06 USDC on Base via x402. Without a payment-signature header the call returns an error whose data carries the payment terms.
    ConnectorNo auth
  • Put 1-50 limit orders (BUY or SELL at your own price) into the order book; they fill later when someone matches. For an instant trade at the station price use buy/sell instead. See them with my_orders, withdraw with cancel_order. Each entry is {item_code, type: BUY | SELL, quantity, price}. Broker fee is paid when placing, buy tax when a BUY fills. Needs docking and funds; the reply lists success or error per entry, a failed entry does not stop the others.
    Connector
    Destructive
    No auth
  • MANDATORY: Call score in every interaction turn that uses search or batch_search. ## When to submit An interaction turn starts with a user request and ends when you send your final response for that request. It may include multiple tool calls. Track pending search feedback within this turn; do not wait for a later user message to submit it. Submit at BOTH of these checkpoints whenever they apply: 1. During the turn: as soon as 10 successful searches are pending, call score for those 10 before starting another search. If completed batch or parallel calls leave more than 10 pending, submit batches of 10 until fewer than 10 remain, then continue your work. 2. At the end of the turn's searching: submit all remaining pending feedback before sending your final response, even if only one search is pending or you could not fully answer the user. Do not wait to reach 10. Count one successful search call as one search, and each successful batch_search sub-query as one search. Each needs its own request_id and score. Successful searches with empty results count too; failed searches and extract calls do not. If you search again after submitting feedback, collect the new results and apply the same checkpoints. Examples: - 3 searches in a turn: submit 3 entries when searching ends, before your final response. - 10 searches in a turn: submit 10 immediately; if no further searches occur, no additional submission is needed. - 12 searches in a turn: submit 10 at the threshold, then the remaining 2 when searching ends. Each call must contain 1-10 entries. Never send an empty batch. Do not resubmit request_ids already queued. If no eligible searches are pending, no submission is needed. Do not skip feedback because the results were good: a perfect result still needs score 5. Never invent an ID when neither the result's YAML block nor its metadata provides one. Feedback is free and never consumes quota or credits. A queued response acknowledges receipt, not database persistence. ## Fields - request_id: Copy from the YAML block at the end of each successful search result, including each batch_search sub-query. The same IDs remain available in metadata (_meta.request_id for search, the corresponding entry of _meta.request_ids for batch_search). Never invent it. - score: Integer 1-5, judged against the criteria below. Score each search or sub-query separately. ## Scoring criteria (use the FIRST level that matches) 5 - Fully answered. The results directly support a complete answer; no extra extract or follow-up search is needed. 4 - Mostly answered. Minor gaps remain, but they do not block the answer. 3 - Partially answered. You still need another search or an extract call to answer well; coverage is incomplete but some results are usable. 2 - Largely insufficient. Most results are irrelevant, outdated, or too shallow; only a small part is usable. 1 - Not useful at all. Results are off-topic, empty, or have nothing to do with the query. Judge the results against the user's actual information need, not against how confident the snippets sound. A partial answer with unrelated extras is 3, not 4.
    ConnectorNo auth
  • Prices Kalshi daily high-temperature markets against the NWS forecast for the market's OWN settlement station, and measures whether that forecast actually beats the market. Two modes. LIVE (default): returns the full strike ladder for one city and settlement date with market_prob (mid), forecast_prob, and edge_pp per strike, plus the settlement clause verbatim. BACKTEST (`backtest_days: N`): scores an archived gridded forecast against the market on settled days and returns brier_market vs brier_forecast with a plain-English `verdict`, so the edge is MEASURED rather than asserted. READ THE WARNINGS — they are not boilerplate. (1) These markets DO NOT settle on the NWS. They settle on The Weather Company (weather.com) at a Kalshi station code such as CLINYC, which the response quotes verbatim; so part of every edge_pp is NWS-vs-Weather-Company disagreement about the same day at the same station, which is not mispricing and not tradeable. `settlement_vs_forecast_basis_f` from backtest mode is that part as a number. (2) The station is DERIVED from the settlement clause, never from the city name: Chicago settles at MIDWAY and New York at CENTRAL PARK, so a city-centre forecast would misprice a whole ladder. A station that cannot be resolved yields rows with no forecast and a reason, never a guessed coordinate. (3) forecast_prob assumes a normal distribution around the NWS high whose width is ASSUMED, not fitted (stated in `distribution_assumption`) — run backtest mode to see whether it is calibrated. (4) edge_pp is gross: no Kalshi fees, no bid-ask. MEASURED RESULT, AND IT IS NOT THE FLATTERING ONE: on the first backtest (KXHIGHNY, 13 settled days to 2026-09-11, 58 market observations) the MARKET beat the forecast — Brier 0.1008 for the market against 0.1594 for the archived gridded forecast, lower being better. So on that sample there is NO forecast edge to sell, and a large edge_pp is more likely to be the model disagreeing with a better-informed market than an opportunity. The measured settlement-vs-forecast basis was 1.7F mean absolute over 8 pinnable days, slightly warm-biased, which is a big share of a typical edge_pp on a 2-degree bracket. Re-run backtest_days before believing any edge; if a later sample reverses this, the numbers say so. NWS is US-only, so the ~30 international Kalshi weather series (London, Paris, Tokyo) return market prices with forecast_unavailable rather than a forecast. Precipitation series are listed but not yet priced. Cities: nyc, chicago, los angeles, miami, austin, houston, denver, philadelphia — or pass `series_ticker` for any other (e.g. "KXHIGHTBOS").
    ConnectorNo auth
  • Claygent-style per-row research: answer ONE question about ONE company and return a JSON object matching your output_schema, with every field wrapped in its own evidence — {value, evidence_url, quote, status}. status is NEVER self-reported by the model: "found" means this code independently verified the model's quote is a VERBATIM substring of text actually fetched; "inferred" means a value was given but the quote could not be verified; "not_established" means no source answered the field, and its value is always null — never guessed, never a blended score. Sources: "web" fetches the company's own site (entity.domain required — homepage, /about, /leadership) via fetch_url; "catalog" checks entity_profile (SEC EDGAR; resolved:false for a private company is expected, not a failure); "both" (default) tries both. max_cost (USD, default 0.02, max 0.50) scales how many pages are fetched and refuses up front if it is too small to pay for even one extraction call (floor $0.002) — never silently overspends. A row where every source comes back empty costs nothing: every field is mechanically not_established with NO model call made. For a boolean/derived field (e.g. "does this company sell to healthcare"), the quote only has to SUPPORT the value — a descriptive sentence about customers/products counts, the source need not state the answer verbatim. leadership_page_status ("fetched"|"not_found"|"not_attempted", plus leadership_note) says plainly whether a leadership/team page was actually read, so a named-person field (head_of_sales) coming back not_established is distinguishable from "this company just doesn't publish one" vs. "we never checked". model_output_empty:true means the model returned nothing usable (a transport/budget problem) — every field is not_established for THAT reason, never read as 20 individual "no" judgments. Use with a fixed question + schema across many rows for "Claygent over N companies with a hard cost cap" (composes with batch callers). For picking from a fixed label list instead of extracting open fields, use classify_row (cheaper, one model call).
    ConnectorNo auth

Matching MCP Servers

Matching MCP Connectors

  • Tell the Pipeworx team something is broken, missing, or needs to exist. Use when a tool returns wrong/stale data (bug), when a tool you wish existed isn't in the catalog (feature/data_gap), or when something worked surprisingly well (praise). ONLY for tools served by this Pipeworx connection — if the tool came from a different MCP server in your client (another vendor's Gmail, Splunk, Slack, etc. connector), we cannot fix it and reporting it here only delays you; file it with that server instead. Not sure? Pipeworx tool names are the ones this connection lists. Describe the issue in terms of Pipeworx tools/packs — don't paste the end-user's prompt. Filing without an account returns a `claim_token`; pass it back later as pipeworx_feedback({claim_token:"pwfb_…"}) to read whether it was fixed and what changed. The team reads digests daily and signal directly affects roadmap. Rate-limited to 5 per identifier per day. Free; doesn't count against your tool-call quota.
    ConnectorNo auth
  • Only for MCP apps that cannot sign in to AgentMart: create your passport (your identity here). Call once and KEEP the returned token: it is shown only once. No email, no password. When your app signed in (whoami works without a token), you already have a passport: do not call this.
    ConnectorNo auth
  • Build a native DAW PROJECT from stems: each stem on its own audio track from bar 1, optional MIDI tracks (the written parts) beside them, on your tempo (bpm or tempo_map) — Logic Pro (.logicx) or Ableton Live (.als), zipped. The deliverable after doseedo_render_score (pass from_job: its job_id and the stems, MIDI and tempo come from that job) or after any renders / separations you made (stems: [{name, audio_url}] — result links work as-is). After doseedo_mix add mix_job: each track at that mix's level and pan, the mix as a muted reference track. Async: job_id → doseedo_wait_task (~30–90 s) → file (pre-signed zip, curl -o session.zip <url>, 24 h). Cancel: the plane has no stop for a running session build — it runs to completion (credits spent), the job ends as canceled and its output is discarded. Only a job still queued at the plane is refunded by the plane's own failure refund.
    ConnectorNo auth
  • Score call-to-action text against a curated behavioural-science corpus. Checks verb framing (outcome versus effort), friction words introduced at the point of commitment, hedging, ownership framing, and length — each finding citing the effect it rests on and that effect's replication status, so a recommendation grounded in a contested result is visibly weaker than one grounded in a robust one. Separately flags urgency language the surrounding copy does not support, which is a regulatory exposure rather than merely a conversion cost. Deterministic: the same text scores identically every time, so two variants can be compared without sampling noise. Does not predict a conversion lift, because the corpus does not support that precision. Costs $0.012000 per call.
    ConnectorNo auth
  • Complete a ready mission and claim its CWM reward. Omit mission_id to auto-complete the first READY one. Without mission_id and with nothing ready it fails with NO_READY_MISSION and lists progress and remaining ticks per active mission; a delivery mission may accept a partial delivery and ask for the rest on a later call. Check progress with list_missions or get_status. Changes state: pays out CWM and closes the mission.
    Connector
    Destructive
    No auth
  • Use this when the user wants a five-dice score sheet scored: "score my sheet, full house [5,5,5,2,2]", "what did I score for chance [3,4,4,5,6]", "tally my dice game". Pass each played category with its 5 dice, and null (or omit) for skipped categories. Returns the category scores, the upper-section total, the 35-point upper bonus when the upper total reaches 63, five-of-a-kind bonuses (100 per repeat after the first 50; provide play_order for chronology, otherwise listed category order is assumed), the grand total, and a CSV of the sheet. It does not choose categories for you and is not for board games — use show_scoreboard for plain point totals.
    ConnectorNo auth
  • "Compare X and Y" / "X vs Y" / "X versus Y" / "which is bigger / better / larger / more profitable" / "rank these companies" / "head to head" — side-by-side comparison of 2–5 companies or drugs in ONE parallel call. ALWAYS PREFER over sequential single-pack lookups when comparing entities. type="company" pulls LATEST 10-K revenue + operating income + net income + cash + long-term debt from SEC EDGAR/XBRL (off-calendar fiscal years handled correctly — AAPL Sep, NVDA Jan, etc.). type="drug" pulls FAERS adverse-event counts, FDA approval counts, active trial counts. Results sorted by primary metric so "largest" / "most" / "biggest" reads off the top of the response. Returns paired data + pipeworx:// citation URIs per entity. Replaces 8–15 sequential lookups.
    ConnectorNo auth
  • "Is it true that…" / "fact check" / "verify the claim that…" / "did X really…" / "was Y actually…" / "confirm or refute" / "true or false" — natural-language claim verification against authoritative sources. Use whenever the agent needs to check whether something a user said is factually correct. Company-financial claims (revenue, net income, cash for public US companies) verify via the structured SEC EDGAR + XBRL fast path with exact percent-delta math; ANY OTHER factual claim (macro statistics, rates, prices, drug data, records) automatically falls through to the grounded pipeline — routed to the right live source, answered with verbatim evidence, then judged. Returns a verdict (confirmed / approximately_correct / refuted / inconclusive / unsupported / could_not_verify), the grounded or structured actual value with pipeworx:// citation, and reasoning. IMPORTANT for callers: could_not_verify means the check did not happen (our LLM or source failed) and carries verification_error{stage,detail} — it is NOT evidence for or against the claim, and must not be shown as one. unsupported means we looked and cover no source for it. Replaces 4–6 sequential calls (NL parsing → entity resolution → data lookup → comparison).
    ConnectorNo auth
  • TYPED, DETERMINISTIC financial facts for a US public company for an EXPLICITLY NAMED reporting period — "Apple revenue for fiscal 2023", "Walmart net income FY2026 Q3", "Microsoft cash at the end of fiscal 2024". PREFER OVER entity_profile / get_company_financials whenever the period matters: those answer "the most recent figures" and will happily hand back FY2025 when you asked about FY2019, and neither separates a discrete quarter from a year-to-date figure. This one refuses instead — it NEVER substitutes the latest period for the period requested, NEVER returns 0 for missing data, NEVER lets a 9-month YTD number answer a quarterly question, and NEVER converts a currency. Every answer carries the exact us-gaap concept it came from, what that concept MEASURES (NetIncomeLoss excludes non-controlling interests, ProfitLoss includes them — not synonyms), the accession number and a link to the filing on sec.gov, the restatement trail of any superseded figures, and a contract + derivation version to pin against. Fiscal periods are the FILER'S OWN, anchored on their fiscal-year end, so Walmart's year ending 2026-01-31 is FY2026 and Apple's ending 2025-09-27 is FY2025. Attributes: revenue, net_income, cash, gross_profit, operating_income, eps_diluted, capex, operating_cash_flow, long_term_debt, shares_outstanding (the dei COVER-PAGE share count, so its period end is the cover date, after the quarter closed — that is the most current count the filing carries). Units are not all USD: shares_outstanding is in `shares` with currency null, eps_diluted in `USD/shares`. A discrete quarter the filer never filed — every Q4, and Q2/Q3 of cash-flow lines, which are filed year-to-date — is DERIVED as YTD(q) minus YTD(q-1) and comes back with `reported: false`, the subtraction named in `derivation` (fy_minus_9m / ytd_9m_minus_6m / ytd_6m_minus_3m) and both legs with their filings in `derived_from`; test `reported` if you will only accept a figure lifted from a filing. Per-share and balance-sheet figures are NEVER derived. Every non-answer is a named status — `unavailable` (the filer did not report it for that period; the periods that DO exist are listed, without values), `unsupported` (outside what v1 covers — a non-us-gaap filer, an unknown attribute, a non-USD unit), `ambiguous` (the company name matched two filers equally well; both are named), `conflicting` (two filings the same day disagree; both are returned and neither is picked), `partial` (a value with no accession behind it). Source: SEC EDGAR, XBRL financial facts, one publisher read once — see `corroboration`. Same response is served at POST https://gateway.pipeworx.io/v1/facts for non-MCP callers.
    ConnectorNo auth
  • Search the NATIONAL BUSINESS REGISTERS by company name and get the register's own id back — a Companies House number, a Norwegian organisasjonsnummer, a Finnish business id, a SIREN, a Japanese corporate number, an Estonian registry code, a CNPJ, or an LEI. Use this when you want the OFFICIAL REGISTERED ENTITY and the country is not the US, or when you do not know which country it is. Registers searched: Companies House (GB), Enhetsregisteret (NO), PRH/YTJ (FI), Sirene (FR), 法人番号公表サイト (JP), RIK e-Business Register (EE), and the GLEIF LEI crosswalk, which reaches jurisdictions we have no register pack for (DE, SE, AU, SG...). THIS TOOL REFUSES TO GUESS, and that is its point: when two different companies match a name equally well it answers `match_status: "ambiguous"` with BOTH, rather than naming one. A one-word trading name usually IS ambiguous — "Bolt", "Apple", "Next", "Sea", "DNB" each match a well-known group AND unrelated micro-entities whose registered name is exactly that word — so pass `country` when you know it. Every response names EVERY register it asked under `searched[]`, with that register's own as-of date and row count, and a register that could not be reached carries an `error` there rather than reading as zero rows: "we could not ask Companies House" is never the same answer as "this company is not in Britain". `related[]` holds entities that collapsed INTO the match — the same company seen through another register, or another country's arm sharing its LEI — so a multinational returns one answer rather than tying with itself. NOT A PEOPLE SEARCH: sole traders and other natural persons are excluded on the publisher's own legal-form field, never guessed from the shape of a name. For US public companies prefer resolve_entity (CIK + ticker + FIGI); the two share this same matcher, and resolve_entity returns these register fields too.
    ConnectorNo auth
  • What did a web page say on a given date? Finds the archived capture of a URL nearest that date across the Internet Archive Wayback Machine, Common Crawl and Arquivo.pt, reads it, and returns the readable text (HTML stripped) with the capture timestamp, a link to the archived copy, and the GAP between the date asked for and the capture actually used (e.g. "Captured 1.5 day(s) before the requested date"). One call replaces the find-capture, fetch-record, parse-HTML chain. If no archive holds a capture within max_gap_days (default 30) it answers status "no_capture" and names the nearest capture before and after the date with their gaps, so a distant capture is never passed off as the page on that date. Every archive's outcome is listed in sources[]; one that timed out or errored says so with its upstream status, and if all of them failed the answer is error "archives_unavailable", not no_capture. Captures are immutable and cached by capture id; served_from says whether the text came from cache or upstream. Use archive_compare to see what changed between two dates.
    ConnectorNo auth
  • Get the exact visibility score for the scope you name: prompt type, topic, custom filters and engine, in one run or a date window. Every figure is scoped to the arguments given and matches the dashboard for the same selection. Each field matches a dashboard name: score = AI AuraScore (0-100), coverage = Mention Rate (a 0-1 ratio, mentions / answers), share_of_voice = Share of Voice (a 0-1 ratio), mentions = answers that mention you, mention_count = mentions and citations behind Share of Voice; answers and prompts are the counts in scope. It is NOT equivalent to averaging get-prompt-scores: per-prompt scores do not average into the scoped score, and this tool returns the scoped figure directly. Scope is run_id when given, else the latest completed run of run_date, else the latest completed run for range latest_run, else the last `range` days (default 15d, the same default period as the dashboard). prompt_type defaults to non_branded (prompts naming neither us nor a competitor); branded names only us, competitor_branded names a competitor with or without us, and each prompt is in exactly one. Valid `filters` keys and value slugs are the ones list-prompt-filters returns; an undeclared key is rejected with the valid options. Score and share_of_voice are null when the scope has nothing to score. The response scope.run_id is the run scored (null for a date window). compare-visibility-runs compares runs or slices side by side; get-visibility-summary gives the stored summary of a run.
    ConnectorOAuth
  • Buy an item from your balance. Utilities start immediately; kits return a single-use download link. Pass instance_id to renew a utility you own. Above what is left of today's spending limit, the order waits (status pending_approval, HTTP 202, nothing taken) and your owner gets one email to approve it within 24 hours; get_order then shows paid, declined, expired, cancelled or approval_failed. Retry with the same idempotency_key: never a second order. Human services (shelf human, done by our own team): quote_human_service first (free), then pass brief (get_item: details.brief_schema), max_price_cents, and any login only as secret; then get_job with delivery.job_id. A website test first waits for your proof that each site is yours (verify_job_sites). More: /llms/human-services.md. A kit your owner already bought is a free update in every later version with the same main version number (1.0.2 to 1.2.0 costs 0, no balance, limit or approval); a new main version (2.0.0) is a new purchase.
    Connector
    Destructive
    No auth
  • SOUND EFFECTS (SFX) from words with Stable Audio Open — SOUND DESIGN and FOLEY for game audio, apps and video: impacts, whooshes, door slams, footsteps, UI blips, creature and sci-fi sounds, ambiences ("rain on a tin roof", "busy café"), risers, drum one-shots. A one-shot hit ("punchy house kick", "snare with a short room", "a riser into the drop"), a loop on the tempo grid ("glitchy percussion"), or a texture ("vinyl crackle", "rain"). kind picks which (hit | loop | texture); omitted, the server reads it off the words. Don't put a tempo in a hit's prompt — tempo words make it write a loop. Wrong tool for a part with notes (doseedo_render_midi) or a piece of music (you write it; doseedo_render_score plays it). Async: job_id → doseedo_wait_task (typically 15–40 s) → audio URLs (pre-signed: curl -OJ <url>, no auth header, valid 24 h). Cancel: a render that has not reached the GPU yet is stopped and its credits refunded; one already rendering finishes on the GPU (its credits are spent), the job ends as canceled and the output is discarded.
    ConnectorNo auth
  • MIDI TO AUDIO, the virtual instrument for agents — THE tool for "I wrote the part, now play it": an AI instrument model (orchestral strings, brass, woodwinds, piano, guitar, bass, drums, World) performs your exact notes, in your key, at your bpm, and returns audio takes (doseedo_generate_music takes no notes or key). Input ONE of: notes[] ({pitch, start_beats, duration_beats, velocity} — beats from bar 1, the same rows as doseedo_edit_session set_midi_notes), midi_url (a .mid ≤2 MiB: a doseedo result link or a public https URL), or session_id + track_id (that track's notes, read from the session). Required: instrument (an entry's `call` from doseedo_instruments, no key — stay inside its range) and bpm. The notes are sent AS GIVEN — no pitch snapping, no quantizing. One voice per part: a chord part is rendered one voice per output with voice_split:true (result.voices maps each voice to its files and notes). Takes come back best-first (takes[0] = the scorer's winner). Async: job_id → doseedo_wait_task (~1–3 min). Result: takes[{url, rank, score}] (pre-signed: curl -OJ, no auth header, 24 h), seed, duration, voices?, refine?, chain. A take may miss or change a note — read takes[].check (measured against your notes) or listen; offer the takes, never promise note-perfection. Free harmony check first: doseedo_analyze_midi. DRUMS (GM notes): drum_engine:"oneshot" = a sampler kit made for drum_genre (default for "electronic"/"808"), every hit as written — use it on ANY kit when every hit must land; the drum model PERFORMS a kit and can drop hits (takes[].fit.missing). "synth" = a one-shot patch (synth_role, synth_genre; "performed" = played, less 1-shot); result.oneshots = the samples. SOUND: a preset (timbre_preset), a recording's tone (timbre_audio_url = timbre transfer), or YOUR OWN instrument (lora_id from doseedo_train_instrument; result.lora.applied). Cancel: a render that has not reached the GPU yet is stopped and its credits refunded; one already rendering finishes on the GPU (its credits are spent), the job ends as canceled and the output is discarded.
    ConnectorNo auth