[{"data":1,"prerenderedAt":856},["ShallowReactive",2],{"blog-\u002Fblog\u002F50k-tweets-no-x-api-tier-one-afternoon":3,"blog-related-\u002Fblog\u002F50k-tweets-no-x-api-tier-one-afternoon":586},{"id":4,"title":5,"author":6,"body":7,"category":569,"cover":570,"description":571,"draft":572,"extension":573,"image":569,"launchCta":569,"meta":574,"navigation":575,"ogImage":569,"path":576,"publishedAt":577,"readTime":569,"seo":578,"stem":579,"tags":580,"updatedAt":569,"__hash__":585},"blogUnlisted\u002Fblog\u002F50k-tweets-no-x-api-tier-one-afternoon.md","50k Tweets, No X API Tier, One Afternoon","Zongrong Li",{"type":8,"value":9,"toc":556},"minimark",[10,15,82,99,104,152,156,159,162,166,171,180,188,197,201,258,266,270,277,280,349,352,355,398,407,411,414,421,424,459,465,469,472,475,478,482,485,488,491,494,498,509,521,530,545,552],[11,12,14],"p",{"style":13},"font-size:18px !important;line-height:1.65 !important;margin:0 0 24px;color:inherit;","Copy this line to your agent to pull a large set of tweets without an X API tier.",[16,17,22],"pre",{"className":18,"code":19,"language":20,"meta":21,"style":21},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use tikhub \u002Fapi\u002Fv1\u002Ftwitter\u002Fweb\u002Ffetch_search_timeline to page a keyword into tens of thousands of tweets\n","sh","",[23,24,25],"code",{"__ignoreMap":21},[26,27,30,34,38,41,44,47,50,53,56,59,62,65,68,71,74,77,79],"span",{"class":28,"line":29},"line",1,[26,31,33],{"class":32},"s2Zo4","set",[26,35,37],{"class":36},"sfazB"," up",[26,39,40],{"class":36}," https:\u002F\u002Fmonid.ai\u002FSKILL.md",[26,42,43],{"class":36}," and",[26,45,46],{"class":36}," use",[26,48,49],{"class":36}," tikhub",[26,51,52],{"class":36}," \u002Fapi\u002Fv1\u002Ftwitter\u002Fweb\u002Ffetch_search_timeline",[26,54,55],{"class":36}," to",[26,57,58],{"class":36}," page",[26,60,61],{"class":36}," a",[26,63,64],{"class":36}," keyword",[26,66,67],{"class":36}," into",[26,69,70],{"class":36}," tens",[26,72,73],{"class":36}," of",[26,75,76],{"class":36}," thousands",[26,78,73],{"class":36},[26,80,81],{"class":36}," tweets\n",[11,83,84,85,92,93,98],{},"I pulled roughly 50,000 tweets in one afternoon, from a seed of a few keywords and a handful of handles, and I never signed up for an X API tier. The whole thing ran through pay-per-call ",[86,87,91],"a",{"href":88,"rel":89},"https:\u002F\u002Ftikhub.io",[90],"nofollow","TikHub"," endpoints on ",[86,94,97],{"href":95,"rel":96},"https:\u002F\u002Fmonid.ai",[90],"Monid",", a pay-per-call data API marketplace where one key and one wallet reach hundreds of external data endpoints (scraping, enrichment, social data, search) without a separate signup per vendor. This is the honest story of how it went, what I did with the tweets, and the parts I would tell a friend to watch out for.",[100,101,103],"h2",{"id":102},"tldr","TL;DR",[105,106,107,115,133,146,149],"ul",{},[108,109,110,111,114],"li",{},"I needed a big tweet corpus for a research project and X priced me out, so I paged TikHub endpoints on ",[86,112,97],{"href":95,"rel":113},[90]," instead of buying a tier.",[108,116,117,118,124,125,128,129,132],{},"Three endpoints did all the work: ",[86,119,121],{"href":88,"rel":120},[90],[23,122,123],{},"fetch_search_timeline"," for keyword search, ",[23,126,127],{},"fetch_user_post_tweet"," for a single account's posts, and ",[23,130,131],{},"fetch_user_tweet_replies"," when I wanted the conversation around a post.",[108,134,135,136,139,140,145],{},"Discover and inspect are free. You only pay on ",[23,137,138],{},"run",", at the price shown before you commit, so 50k tweets landed in single-digit dollars territory (current numbers at ",[86,141,144],{"href":142,"rel":143},"https:\u002F\u002Fmonid.ai\u002Ftools",[90],"monid.ai\u002Ftools",").",[108,147,148],{},"Paging is a cursor loop: run, read the next cursor, run again, until the seed is exhausted or I hit my ceiling.",[108,150,151],{},"The unglamorous 20 percent of the job is pacing the calls, deduping by tweet ID, and not being a jerk to the platform.",[100,153,155],{"id":154},"the-wall-i-hit","The wall I hit",[11,157,158],{},"The project was a language study. I wanted to see how people actually phrase a certain kind of complaint over time, which meant a lot of real tweets around a cluster of keywords, plus the full posting history of a few accounts that kept showing up. Nothing exotic. A corpus, basically.",[11,160,161],{},"Then I went to price the official route. If you have looked recently, you know the shape of it. The tiers jump from almost-free-but-useless to a monthly floor that only makes sense if tweets are your whole business. My project was one afternoon of collection and then weeks of me squinting at text in a notebook. Paying a recurring enterprise-ish bill to feed a one-time corpus felt absurd, and the free lane would have had me rationing calls like a drought. So I closed the tab and went looking for a side door.",[100,163,165],{"id":164},"set-up-once","Set up once",[167,168,170],"h3",{"id":169},"for-agents","For agents",[11,172,173,174,179],{},"Grab an API key at ",[86,175,178],{"href":176,"rel":177},"https:\u002F\u002Fapp.monid.ai\u002F",[90],"app.monid.ai",", then paste this to your agent and hand it the key:",[16,181,186],{"className":182,"code":184,"language":185},[183],"language-text","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md\n","text",[23,187,184],{"__ignoreMap":21},[11,189,190,191,196],{},"It learns the whole discover, inspect, run workflow itself. More details in the ",[86,192,195],{"href":193,"rel":194},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-skill",[90],"agent quickstart",".",[167,198,200],{"id":199},"for-humans","For humans",[16,202,206],{"className":203,"code":204,"language":205,"meta":21,"style":21},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm install -g @monid-ai\u002Fcli\nmonid keys add --label main --key \u003Cyour-api-key>\n","bash",[23,207,208,223],{"__ignoreMap":21},[26,209,210,214,217,220],{"class":28,"line":29},[26,211,213],{"class":212},"sBMFI","npm",[26,215,216],{"class":36}," install",[26,218,219],{"class":36}," -g",[26,221,222],{"class":36}," @monid-ai\u002Fcli\n",[26,224,226,229,232,235,238,241,244,248,251,255],{"class":28,"line":225},2,[26,227,228],{"class":212},"monid",[26,230,231],{"class":36}," keys",[26,233,234],{"class":36}," add",[26,236,237],{"class":36}," --label",[26,239,240],{"class":36}," main",[26,242,243],{"class":36}," --key",[26,245,247],{"class":246},"sMK4o"," \u003C",[26,249,250],{"class":36},"your-api-ke",[26,252,254],{"class":253},"sTEyZ","y",[26,256,257],{"class":246},">\n",[11,259,260,261,196],{},"More details in the ",[86,262,265],{"href":263,"rel":264},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-cli",[90],"CLI quickstart",[100,267,269],{"id":268},"the-afternoon-actually","The afternoon, actually",[11,271,272,273,276],{},"I already had a Monid wallet from other data work, so this was not a new vendor relationship. It was another endpoint on a key I already had. A free ",[23,274,275],{},"monid inspect"," showed me the request schema and the price per call before I spent a cent, which is the check I always run first.",[11,278,279],{},"The search endpoint is the one I leaned on hardest. You give it a keyword and a mode, and it returns a page of matching tweets:",[16,281,283],{"className":18,"code":282,"language":20,"meta":21,"style":21},"monid inspect -p tikhub -e \u002Fapi\u002Fv1\u002Ftwitter\u002Fweb\u002Ffetch_search_timeline\nmonid run -p tikhub -e \u002Fapi\u002Fv1\u002Ftwitter\u002Fweb\u002Ffetch_search_timeline \\\n  -i '{\"keyword\":\"my phrase\",\"search_type\":\"Latest\"}' --query '{\"count\":20}' -w\n",[23,284,285,303,321],{"__ignoreMap":21},[26,286,287,289,292,295,297,300],{"class":28,"line":29},[26,288,228],{"class":212},[26,290,291],{"class":36}," inspect",[26,293,294],{"class":36}," -p",[26,296,49],{"class":36},[26,298,299],{"class":36}," -e",[26,301,302],{"class":36}," \u002Fapi\u002Fv1\u002Ftwitter\u002Fweb\u002Ffetch_search_timeline\n",[26,304,305,307,310,312,314,316,318],{"class":28,"line":225},[26,306,228],{"class":212},[26,308,309],{"class":36}," run",[26,311,294],{"class":36},[26,313,49],{"class":36},[26,315,299],{"class":36},[26,317,52],{"class":36},[26,319,320],{"class":253}," \\\n",[26,322,324,327,330,333,336,339,341,344,346],{"class":28,"line":323},3,[26,325,326],{"class":36},"  -i",[26,328,329],{"class":246}," '",[26,331,332],{"class":36},"{\"keyword\":\"my phrase\",\"search_type\":\"Latest\"}",[26,334,335],{"class":246},"'",[26,337,338],{"class":36}," --query",[26,340,329],{"class":246},[26,342,343],{"class":36},"{\"count\":20}",[26,345,335],{"class":246},[26,347,348],{"class":36}," -w\n",[11,350,351],{},"I ran that once with a tiny count, opened the JSON, and read ten tweets by hand against what X showed me in the browser. They matched: text, timestamps, the engagement numbers, the author handles. That is the only trust check that matters, and it passed on the first try.",[11,353,354],{},"For the accounts I wanted in full, I switched to the user-posts endpoint. Same idea, one screen name in, a page of that account's tweets out:",[16,356,358],{"className":18,"code":357,"language":20,"meta":21,"style":21},"monid run -p tikhub -e \u002Fapi\u002Fv1\u002Ftwitter\u002Fweb\u002Ffetch_user_post_tweet \\\n  -i '{\"screen_name\":\"someaccount\"}' --query '{\"count\":20}' -w\n",[23,359,360,377],{"__ignoreMap":21},[26,361,362,364,366,368,370,372,375],{"class":28,"line":29},[26,363,228],{"class":212},[26,365,309],{"class":36},[26,367,294],{"class":36},[26,369,49],{"class":36},[26,371,299],{"class":36},[26,373,374],{"class":36}," \u002Fapi\u002Fv1\u002Ftwitter\u002Fweb\u002Ffetch_user_post_tweet",[26,376,320],{"class":253},[26,378,379,381,383,386,388,390,392,394,396],{"class":28,"line":225},[26,380,326],{"class":36},[26,382,329],{"class":246},[26,384,385],{"class":36},"{\"screen_name\":\"someaccount\"}",[26,387,335],{"class":246},[26,389,338],{"class":36},[26,391,329],{"class":246},[26,393,343],{"class":36},[26,395,335],{"class":246},[26,397,348],{"class":36},[11,399,400,401,406],{},"And when a particular post was doing something interesting and I wanted the replies under it, ",[86,402,404],{"href":88,"rel":403},[90],[23,405,131],{}," gave me the conversation instead of just the top-line post. Three endpoints, one wallet, no client to wire up.",[100,408,410],{"id":409},"paging-to-tens-of-thousands","Paging to tens of thousands",[11,412,413],{},"One call gives you a page. Fifty thousand tweets is that page, over and over, following the cursor. Each response carries a next-cursor value, and you feed it back in to get the following page. In pseudocode the loop is embarrassingly simple: run, grab the cursor from the response, run again with that cursor, stop when the cursor stops changing or I hit the count I set for myself.",[11,415,416],{},[417,418],"img",{"alt":419,"src":420},"A seed of keywords and handles feeds TikHub tweet endpoints on Monid, which page the timeline via cursor into a raw pull, then dedupe by tweet ID into a 50k-tweet dataset that becomes the language study I actually built.","\u002Fimg\u002Fblog\u002F50k-tweets-no-x-api-tier-one-afternoon-fig-1.png",[11,422,423],{},"Because I set up the key with the skill, I let my agent drive the loop. I told it the keywords, the handles, and the ceiling, and it paged each seed, saved every page, and stopped where I told it to. For a long async pull you save each page as it lands:",[16,425,427],{"className":18,"code":426,"language":20,"meta":21,"style":21},"monid runs get -r \u003CRunID> -o page-07.json\n",[23,428,429],{"__ignoreMap":21},[26,430,431,433,436,439,442,444,447,450,453,456],{"class":28,"line":29},[26,432,228],{"class":212},[26,434,435],{"class":36}," runs",[26,437,438],{"class":36}," get",[26,440,441],{"class":36}," -r",[26,443,247],{"class":246},[26,445,446],{"class":36},"RunI",[26,448,449],{"class":253},"D",[26,451,452],{"class":246},">",[26,454,455],{"class":36}," -o",[26,457,458],{"class":36}," page-07.json\n",[11,460,461,462,196],{},"The reason this scales without a budget meeting is the billing. Each call is a fraction of a cent to a few cents of territory, and cost tracks the calls I make and nothing else. Tens of thousands of tweets, paged at a small count each, came out in single-digit dollars. There was no seat, no minimum, no tier I would forget to cancel in three months. I watched the wallet tick down in amounts I would not think twice about, which is a very different feeling from staring at a subscription page. Current per-endpoint prices live at ",[86,463,144],{"href":142,"rel":464},[90],[100,466,468],{"id":467},"what-i-actually-did-with-50k-tweets","What I actually did with 50k tweets",[11,470,471],{},"The corpus was the boring, load-bearing part. Once it existed, the fun started.",[11,473,474],{},"I deduped by tweet ID (more on why in a second), then ran the text through a simple pass that pulled the phrasings I cared about and bucketed them by month. The keyword pull gave me the wide cross-section of how strangers phrase the thing, and the per-account pulls gave me a few deep timelines I could read as individuals changing their language over time. The reply endpoint turned out to be the sleeper: the way people respond to a complaint carried as much signal as the complaint itself, and I only got that because pulling replies was one more endpoint on the same wallet, not a second integration to justify.",[11,476,477],{},"None of that analysis is special. The point is that the data-collection wall, the thing that usually kills a project like this before it starts, just was not there.",[100,479,481],{"id":480},"the-honest-caveats","The honest caveats",[11,483,484],{},"I would be lying if I said it was pure magic, so here is the part I would actually warn a friend about.",[11,486,487],{},"Pace your calls. Paging a cursor as fast as your loop allows is rude and asking for trouble. I put a small sleep between pages and ran the big pulls in the background while I did other things. There is no prize for finishing the pull in nine minutes instead of ninety.",[11,489,490],{},"Dedupe by tweet ID, always. Overlapping keyword searches and a user timeline that intersects your search results will hand you the same tweet more than once. I keyed everything on the tweet ID and dropped repeats before counting anything, because a corpus with silent duplicates quietly lies to you about frequency, which was the entire thing I was measuring.",[11,492,493],{},"And respect the platform and the people in it. This is public text, but public is not the same as consequence-free. I kept the corpus private, used it for aggregate language patterns rather than putting individuals on blast, and did not go anywhere near private or deleted content. The endpoint reads what a logged-out person could see, and I treated the output like the public record it is.",[100,495,497],{"id":496},"faq","FAQ",[11,499,500,504,505,508],{},[501,502,503],"strong",{},"Do I need an X or Twitter developer account?","\nNo. The tweets come through ",[86,506,91],{"href":88,"rel":507},[90]," endpoints on Monid, so there is no X developer signup and no monthly API tier. Your Monid key is the only credential.",[11,510,511,514,515,517,518,196],{},[501,512,513],{},"How did the cost stay so low?","\nEvery call is billed pay-as-you-go at a fraction of a cent to a few cents, shown by ",[23,516,275],{}," before you run. Tens of thousands of tweets, paged at a small count each, land in single-digit dollars. Live prices are at ",[86,519,144],{"href":142,"rel":520},[90],[11,522,523,526,527,529],{},[501,524,525],{},"How do you actually get past one page?","\nFollow the cursor. Each response returns a next-cursor value; feed it back into the next ",[23,528,138],{}," and repeat until it stops advancing or you hit your own ceiling.",[11,531,532,535,536,538,539,541,542,544],{},[501,533,534],{},"Can I mix keyword search, user timelines, and replies in one project?","\nYes, and that is the nice part. ",[23,537,123],{},", ",[23,540,127],{},", and ",[23,543,131],{}," all bill from the same wallet, so combining them is free of vendor boundaries.",[11,546,547,548,196],{},"If you have a corpus-shaped project stuck behind an API tier you cannot justify, this is the side door. Inspect an endpoint, pull twenty tweets, check them against the app by hand, and if they match, page it out. It costs pocket change to find out, over at ",[86,549,551],{"href":95,"rel":550},[90],"monid.ai",[553,554,555],"style",{},"html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"title":21,"searchDepth":225,"depth":225,"links":557},[558,559,560,564,565,566,567,568],{"id":102,"depth":225,"text":103},{"id":154,"depth":225,"text":155},{"id":164,"depth":225,"text":165,"children":561},[562,563],{"id":169,"depth":323,"text":170},{"id":199,"depth":323,"text":200},{"id":268,"depth":225,"text":269},{"id":409,"depth":225,"text":410},{"id":467,"depth":225,"text":468},{"id":480,"depth":225,"text":481},{"id":496,"depth":225,"text":497},null,"\u002Fimg\u002Fblog\u002F50k-tweets-no-x-api-tier-one-afternoon.png","How I pulled 50,000 tweets for a research project in one afternoon using pay-per-call TikHub endpoints on Monid, with no X API tier.",false,"md",{},true,"\u002Fblog\u002F50k-tweets-no-x-api-tier-one-afternoon","2026-07-16",{"title":5,"description":571},"blog\u002F50k-tweets-no-x-api-tier-one-afternoon",[581,582,583,584],"twitter","social data","tikhub","web scraping","ww1UeMc-oU0_R4z7k3NRkXptVg7U3SkqrdztISjOWgs",[587,649,717,783],{"id":588,"title":589,"author":569,"body":590,"category":569,"cover":634,"description":21,"draft":572,"extension":573,"image":569,"launchCta":635,"meta":638,"navigation":575,"ogImage":569,"path":639,"publishedAt":640,"readTime":569,"seo":641,"stem":642,"tags":643,"updatedAt":569,"__hash__":648},"blog\u002Fblog\u002Fakta-pro-is-now-available-on-monid.md","Introducing private markets\ndata for agents",{"type":8,"value":591,"toc":630},[592,596,604,607,611,617,624,627],[100,593,595],{"id":594},"what-is-aktapro","What is akta.pro",[11,597,598,603],{},[86,599,602],{"href":600,"rel":601},"https:\u002F\u002Fwww.akta.pro\u002F",[90],"akta.pro"," is a private company data and signals API for\nAI agents. Company Database covers 20M+ companies with 75+ structured fields\neach. News Signals delivers deduplicated, entity-resolved company news,\nindustry news, and signals on open-ended topics, all scored for impact and\nsentiment.",[11,605,606],{},"Private-company research is usually scattered across databases, news feeds,\nreview sites, and web search. akta.pro turns that into structured API calls, so\nan agent gets the right company context and keeps moving.",[100,608,610],{"id":609},"what-is-monid","What is Monid",[11,612,613,616],{},[86,614,97],{"href":95,"rel":615},[90]," is the tool layer for agents. It lets agents connect\nto all the tools and APIs they need, without managing signups, API keys, or\nsubscriptions.",[11,618,619,620,196],{},"Today, Monid provides tools for social media scraping, web search, image and\nmusic generation, people data search, weather APIs, ",[86,621,623],{"href":142,"rel":622},[90],"and more",[625,626],"hr",{},[11,628,629],{},"On Monid, akta.pro becomes available as part of that same layer. Your agent can\nrequest private-company context, call akta.pro through Monid, receive structured\nmarket data, and continue the task. Private markets research should feel like\nany other tool call: describe the company or sector, get the signal, keep\nbuilding.",{"title":21,"searchDepth":225,"depth":225,"links":631},[632,633],{"id":594,"depth":225,"text":595},{"id":609,"depth":225,"text":610},"\u002Fimg\u002Fblog\u002Fakta-pro-is-now-available-on-monid-v2.png",{"label":636,"command":637},"Give your agent this line to get started.","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use akta.pro to research recent news, company enrichment, and alternative signals for Databricks",{},"\u002Fblog\u002Fakta-pro-is-now-available-on-monid","2026-07-07",{"title":589,"description":21},"blog\u002Fakta-pro-is-now-available-on-monid",[644,645,646,647],"agents","partner-tools","private-markets","data","yZnqIVof0gIpw9VH6HcE3rzit5OdTvPyC6k--T1kYa8",{"id":650,"title":651,"author":569,"body":652,"category":569,"cover":706,"description":707,"draft":572,"extension":573,"image":569,"launchCta":569,"meta":708,"navigation":575,"ogImage":569,"path":709,"publishedAt":710,"readTime":569,"seo":711,"stem":712,"tags":713,"updatedAt":569,"__hash__":716},"blog\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls.md","Your Claude Code can now make phone calls",{"type":8,"value":653,"toc":702},[654,657,666,670,678,681,683,688,694,696,699],[11,655,656],{"style":13},"Copy this line to your agent to make your first phone call.",[16,658,660],{"className":18,"code":659,"language":20,"meta":21,"style":21},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use Saperly to call my phone number to confirm the connection works\n",[23,661,662],{"__ignoreMap":21},[26,663,664],{"class":28,"line":29},[26,665,659],{},[100,667,669],{"id":668},"what-is-saperly","What is Saperly",[11,671,672,677],{},[86,673,676],{"href":674,"rel":675},"https:\u002F\u002Fsaperly.com\u002F",[90],"Saperly"," is phone infrastructure for AI agents. It gives\nan agent a real phone number with voice, SMS, routing, spend controls, and\ncompliance built in, without making the builder manage carrier accounts or\ntelephony paperwork.",[11,679,680],{},"Your agent can confirm an appointment, follow up on a lead, check availability,\nor route a conversation without leaving the workflow it is already running.",[100,682,610],{"id":609},[11,684,685,616],{},[86,686,97],{"href":95,"rel":687},[90],[11,689,690,691,196],{},"Today, Monid provides tools for social media scraping, web search, image \u002F\nmusic \u002F 3d model generation, people data search, weather APIs, ",[86,692,623],{"href":142,"rel":693},[90],[625,695],{},[11,697,698],{},"On Monid, Saperly becomes available as part of that same layer. Your agent can\nrequest a phone call, use Saperly through Monid, receive the result, and keep\ngoing. Calling should feel like any other tool call: describe the outcome, let\nthe agent handle the phone work, and continue the task.",[553,700,701],{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":21,"searchDepth":225,"depth":225,"links":703},[704,705],{"id":668,"depth":225,"text":669},{"id":609,"depth":225,"text":610},"\u002Fimg\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls.png","Saperly is now available on Monid. Your agent can now make phone calls for you.",{},"\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls","2026-07-05",{"title":651,"description":707},"blog\u002Fyour-claude-code-can-now-make-phone-calls",[644,645,714,715],"voice","phone","X0vLpqb1Vn9mIFY4XAQ16a67_nbOfiZV8NEdV12nu1A",{"id":718,"title":719,"author":569,"body":720,"category":569,"cover":772,"description":773,"draft":572,"extension":573,"image":569,"launchCta":569,"meta":774,"navigation":575,"ogImage":569,"path":775,"publishedAt":776,"readTime":569,"seo":777,"stem":778,"tags":779,"updatedAt":569,"__hash__":782},"blog\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models.md","Introducing\nClaude for 3D models",{"type":8,"value":721,"toc":768},[722,725,734,738,746,749,751,756,761,763,766],[11,723,724],{"style":13},"Copy this line to your agent to generate your 3D model.",[16,726,728],{"className":18,"code":727,"language":20,"meta":21,"style":21},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a 3D model for a rabbit\n",[23,729,730],{"__ignoreMap":21},[26,731,732],{"class":28,"line":29},[26,733,727],{},[100,735,737],{"id":736},"what-is-suzanne","What is Suzanne",[11,739,740,745],{},[86,741,744],{"href":742,"rel":743},"https:\u002F\u002Fwww.suzanne3d.com",[90],"Suzanne"," is an AI-native 3D modeling tool that turns a prompt into a\nusable 3D asset. Instead of opening a modeling tool, blocking out forms,\nadding details, and exporting by hand, you describe what you want and let\nSuzanne generate the model for you.",[11,747,748],{},"That changes who can create 3D objects. Product teams can prototype visual\nideas faster. Game builders can rough out props and characters without\nwaiting on a full art pass. Agents can generate assets as part of a larger\nworkflow, then hand those files to downstream tools for rendering, testing,\nor iteration.",[100,750,610],{"id":609},[11,752,753,616],{},[86,754,97],{"href":95,"rel":755},[90],[11,757,619,758,196],{},[86,759,623],{"href":142,"rel":760},[90],[625,762],{},[11,764,765],{},"On Monid, Suzanne becomes available as part of that same layer. Your agent can\nask for the 3D asset it needs, call Suzanne through Monid, and continue the task.\n3D creation should feel as direct as text generation: describe the thing, get\nthe artifact, keep building.",[553,767,701],{},{"title":21,"searchDepth":225,"depth":225,"links":769},[770,771],{"id":736,"depth":225,"text":737},{"id":609,"depth":225,"text":610},"\u002Fimg\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models.png","Suzanne is now available on Monid. Turn any idea into a production-ready 3D model in one prompt.",{},"\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models","2026-06-25",{"title":719,"description":773},"blog\u002Fintroducing-suzanne-chatgpt-for-3d-models",[780,644,781],"3d","creative-tools","_S0uHM_dNVZKt_1ohYV4hn2Fm6SMxsDxzSezZf6lYFQ",{"id":784,"title":785,"author":569,"body":786,"category":569,"cover":845,"description":846,"draft":572,"extension":573,"image":569,"launchCta":569,"meta":847,"navigation":575,"ogImage":569,"path":848,"publishedAt":849,"readTime":569,"seo":850,"stem":851,"tags":852,"updatedAt":569,"__hash__":855},"blog\u002Fblog\u002Fminimax-is-now-available-on-monid.md","MiniMax is now available on Monid",{"type":8,"value":787,"toc":840},[788,791,800,804,812,816,819,821,827,833,835,838],[11,789,790],{"style":13},"Copy this line to your agent to create music.",[16,792,794],{"className":18,"code":793,"language":20,"meta":21,"style":21},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a song with MiniMax Music 2.6\n",[23,795,796],{"__ignoreMap":21},[26,797,798],{"class":28,"line":29},[26,799,793],{},[100,801,803],{"id":802},"minimax-music-26","MiniMax Music 2.6",[11,805,806,811],{},[86,807,810],{"href":808,"rel":809},"https:\u002F\u002Fwww.minimax.io",[90],"MiniMax"," Music 2.6 turns a prompt into music your agent can use right away. Describe the style, mood, lyrics, or use case, and generate a track inside the same workflow.",[100,813,815],{"id":814},"minimax-text-to-image-image-01","MiniMax Text-to-Image image-01",[11,817,818],{},"MiniMax image-01 turns text prompts into images. Ask for a concept, scene, product visual, or creative asset, and let your agent generate it through Monid.",[100,820,610],{"id":609},[11,822,823,826],{},[86,824,97],{"href":95,"rel":825},[90]," is the tool layer for agents. It lets agents connect to all the tools and APIs they need, without managing signups, API keys, or subscriptions.",[11,828,829,830,196],{},"Today, Monid provides tools for social media scraping, web search, image and music generation, people data search, weather APIs, ",[86,831,623],{"href":142,"rel":832},[90],[625,834],{},[11,836,837],{},"On Monid, MiniMax becomes part of the same tool layer your agent already uses. Describe what you need, generate the image or music, and keep building.",[553,839,701],{},{"title":21,"searchDepth":225,"depth":225,"links":841},[842,843,844],{"id":802,"depth":225,"text":803},{"id":814,"depth":225,"text":815},{"id":609,"depth":225,"text":610},"\u002Fimg\u002Fblog\u002Fminimax-is-now-available-on-monid.png","Create images and music with MiniMax models through Monid.",{},"\u002Fblog\u002Fminimax-is-now-available-on-monid","2026-06-24",{"title":785,"description":846},"blog\u002Fminimax-is-now-available-on-monid",[644,781,853,854],"image-generation","music-generation","OYTt4aBpVNeb9nNuUTkZhyl8yzm6h4v8c8tMHC9NmFg",1784441553312]