[{"data":1,"prerenderedAt":873},["ShallowReactive",2],{"blog-\u002Fblog\u002Fread-text-off-a-screenshot-or-scan":3,"blog-related-\u002Fblog\u002Fread-text-off-a-screenshot-or-scan":602},{"id":4,"title":5,"author":6,"body":7,"category":587,"cover":588,"description":589,"draft":590,"extension":591,"image":587,"launchCta":587,"listingCover":587,"meta":592,"navigation":593,"ogImage":587,"path":594,"publishedAt":595,"readTime":587,"seo":596,"stem":597,"tags":598,"toolCategory":587,"updatedAt":587,"__hash__":601},"blogUnlisted\u002Fblog\u002Fread-text-off-a-screenshot-or-scan.md","OCR API: Extract Text From an Image in One Call","The Monid Team",{"type":8,"value":9,"toc":572},"minimark",[10,14,24,29,99,103,106,109,112,128,135,139,144,153,163,171,175,181,189,193,196,266,303,307,314,362,374,378,384,425,438,442,448,452,455,507,513,517,526,530,544,550,559,568],[11,12,13],"p",{},"To pull text off an image or a scanned document with one API call, route by input type: send a screenshot, receipt photo, or handwritten note to a vision-model OCR that returns text plus a confidence signal, and send a multi-page scanned PDF or office file to a whole-file parser that returns clean Markdown with OCR turned on. Same key, same wallet, one command each. This post gives you the two commands and the rule for picking between them.",[11,15,16,23],{},[17,18,22],"a",{"href":19,"rel":20},"https:\u002F\u002Fmonid.ai",[21],"nofollow","Monid"," is a pay-per-call data API marketplace that lets you reach hundreds of external data endpoints from one key and one wallet, paying only when a run succeeds. Both OCR routes below live on it, so you can test each on your own worst file before wiring anything up.",[25,26,28],"h2",{"id":27},"tldr","TL;DR",[30,31,32,51,70,76,96],"ul",{},[33,34,35,39,40,45,46,50],"li",{},[36,37,38],"strong",{},"Messy single image"," (screenshot, phone photo of a receipt, handwritten note): run ",[17,41,44],{"href":42,"rel":43},"https:\u002F\u002Fstrale.io",[21],"Strale"," ",[47,48,49],"code",{},"\u002Fx402\u002Fimage-to-text",", an OCR API backed by a Claude vision model. It returns the text plus a confidence value you can gate on.",[33,52,53,56,57,45,62,65,66,69],{},[36,54,55],{},"Whole scanned document"," (multi-page PDF, DOCX, PPTX): run ",[17,58,61],{"href":59,"rel":60},"https:\u002F\u002Fcontext.dev",[21],"Context.dev",[47,63,64],{},"\u002Fparse"," with ",[47,67,68],{},"ocr:true",". It returns clean GitHub-flavored Markdown and only charges the OCR rate on pages that actually needed OCR.",[33,71,72,75],{},[36,73,74],{},"The routing rule is the input, not the accuracy score."," One image the eye can read at a glance goes to Strale. A full file you want as structured Markdown goes to Context.dev parse.",[33,77,78,81,82,85,86,89,90,95],{},[47,79,80],{},"discover"," and ",[47,83,84],{},"inspect"," are free. Only ",[47,87,88],{},"run"," bills. Magnitudes: a few cents per image, a fraction of a cent per file. See ",[17,91,94],{"href":92,"rel":93},"https:\u002F\u002Fmonid.ai\u002Ftools",[21],"monid.ai\u002Ftools",".",[33,97,98],{},"Keep the confidence check and sample before batch: OCR accuracy drops on skewed, low-light captures.",[25,100,102],{"id":101},"two-shapes-of-ocr-and-why-one-endpoint-does-not-cover-both","Two shapes of OCR, and why one endpoint does not cover both",[11,104,105],{},"\"OCR\" hides two different jobs. The first is reading text off a single messy raster: a screenshot with UI chrome around it, a receipt shot at an angle, a note someone wrote by hand. There is no file structure to preserve, you just want the characters, and the hard part is tolerating skew, glare, and non-machine strokes. A vision-model OCR reads the picture holistically, the way you read a crumpled receipt without squinting at each glyph, and it hands back a confidence signal so you know which reads to trust.",[11,107,108],{},"The second job is a whole document: a 30-page contract that was scanned to PDF, a slide deck, a spreadsheet export. Here the structure is the point. You want headings, tables, and reading order turned into Markdown a model can chunk and embed, and OCR is only needed on the pages that are actually images rather than selectable text. Pointing the single-image endpoint at a 30-page PDF is the wrong shape, and running a full-document parser on one screenshot is overkill.",[11,110,111],{},"So the decision is mechanical:",[30,113,114,120],{},[33,115,116,117,95],{},"One image you could read at a glance (screenshot, document photo, handwriting) goes to ",[36,118,119],{},"Strale image-to-text",[33,121,122,123,65,126,95],{},"A whole scanned document you want back as Markdown goes to ",[36,124,125],{},"Context.dev parse",[47,127,68],{},[11,129,130],{},[131,132],"img",{"alt":133,"src":134},"Route by input type: a single messy image goes to Strale image-to-text for text plus a confidence value, a whole scanned document goes to Context.dev parse for clean Markdown","\u002Fimg\u002Fblog\u002Fread-text-off-a-screenshot-or-scan-fig-ocr-routing.png",[25,136,138],{"id":137},"set-up-once","Set up once",[140,141,143],"h3",{"id":142},"for-agents","For agents",[11,145,146,147,152],{},"Grab an API key at ",[17,148,151],{"href":149,"rel":150},"https:\u002F\u002Fapp.monid.ai\u002F",[21],"app.monid.ai",", then paste this to your agent and hand it the key:",[154,155,160],"pre",{"className":156,"code":158,"language":159},[157],"language-text","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md\n","text",[47,161,158],{"__ignoreMap":162},"",[11,164,165,166,95],{},"It learns the whole discover, inspect, run workflow itself. More details in the ",[17,167,170],{"href":168,"rel":169},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-skill",[21],"agent quickstart",[140,172,174],{"id":173},"for-humans","For humans",[154,176,179],{"className":177,"code":178,"language":159},[157],"npm install -g @monid-ai\u002Fcli\nmonid keys add --label main --key \u003Cyour-api-key>\n",[47,180,178],{"__ignoreMap":162},[11,182,183,184,95],{},"More details in the ",[17,185,188],{"href":186,"rel":187},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-cli",[21],"CLI quickstart",[25,190,192],{"id":191},"step-1-read-both-schemas-for-free","STEP 1: read both schemas for free",[11,194,195],{},"Discovery and inspection never bill, so confirm the fields and the exact price before you spend anything. The image route takes query params, the parse route takes a JSON body, and inspect is where you see which is which.",[154,197,201],{"className":198,"code":199,"language":200,"meta":162,"style":162},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","monid discover -q \"ocr image to text\"\nmonid inspect -p api.strale.io -e \u002Fx402\u002Fimage-to-text\nmonid inspect -p context.dev -e \u002Fparse\n","bash",[47,202,203,229,249],{"__ignoreMap":162},[204,205,208,212,216,219,223,226],"span",{"class":206,"line":207},"line",1,[204,209,211],{"class":210},"sBMFI","monid",[204,213,215],{"class":214},"sfazB"," discover",[204,217,218],{"class":214}," -q",[204,220,222],{"class":221},"sMK4o"," \"",[204,224,225],{"class":214},"ocr image to text",[204,227,228],{"class":221},"\"\n",[204,230,232,234,237,240,243,246],{"class":206,"line":231},2,[204,233,211],{"class":210},[204,235,236],{"class":214}," inspect",[204,238,239],{"class":214}," -p",[204,241,242],{"class":214}," api.strale.io",[204,244,245],{"class":214}," -e",[204,247,248],{"class":214}," \u002Fx402\u002Fimage-to-text\n",[204,250,252,254,256,258,261,263],{"class":206,"line":251},3,[204,253,211],{"class":210},[204,255,236],{"class":214},[204,257,239],{"class":214},[204,259,260],{"class":214}," context.dev",[204,262,245],{"class":214},[204,264,265],{"class":214}," \u002Fparse\n",[11,267,268,269,271,272,275,276,279,280,282,283,286,287,290,291,294,295,298,299,302],{},"Strale ",[47,270,49],{}," is a GET that reads any image, either ",[47,273,274],{},"image_url"," or an inline ",[47,277,278],{},"base64"," string, and returns text with a confidence value. Context.dev ",[47,281,64],{}," is a POST that takes ",[47,284,285],{},"file_url"," (a public https link up to 25MB), plus ",[47,288,289],{},"ocr",", ",[47,292,293],{},"useMainContentOnly",", and ",[47,296,297],{},"includeImages",". It returns Markdown and an ",[47,300,301],{},"ocr_ran"," flag telling you whether OCR actually fired.",[25,304,306],{"id":305},"step-2-read-a-messy-image","STEP 2: read a messy image",[11,308,309,310,313],{},"Point Strale at a public URL of the single image you want read. Here it is a receipt photo. The ",[47,311,312],{},"-w"," flag waits inline and prints the result.",[154,315,317],{"className":198,"code":316,"language":200,"meta":162,"style":162},"# a screenshot, photo, or handwritten note -> text + confidence (Strale, Claude vision OCR)\nmonid run -p api.strale.io -e \u002Fx402\u002Fimage-to-text \\\n  --query '{\"image_url\":\"https:\u002F\u002Fexample.com\u002Freceipt.jpg\"}' -w\n",[47,318,319,325,345],{"__ignoreMap":162},[204,320,321],{"class":206,"line":207},[204,322,324],{"class":323},"sHwdD","# a screenshot, photo, or handwritten note -> text + confidence (Strale, Claude vision OCR)\n",[204,326,327,329,332,334,336,338,341],{"class":206,"line":231},[204,328,211],{"class":210},[204,330,331],{"class":214}," run",[204,333,239],{"class":214},[204,335,242],{"class":214},[204,337,245],{"class":214},[204,339,340],{"class":214}," \u002Fx402\u002Fimage-to-text",[204,342,344],{"class":343},"sTEyZ"," \\\n",[204,346,347,350,353,356,359],{"class":206,"line":251},[204,348,349],{"class":214},"  --query",[204,351,352],{"class":221}," '",[204,354,355],{"class":214},"{\"image_url\":\"https:\u002F\u002Fexample.com\u002Freceipt.jpg\"}",[204,357,358],{"class":221},"'",[204,360,361],{"class":214}," -w\n",[11,363,364,365,367,368,370,371,373],{},"You get the extracted text plus a confidence value. Swap ",[47,366,274],{}," for your own worst input: a whiteboard photo, a handwritten form, a screenshot with a table wedged between toolbars. If the image is not web-hosted, pass it inline as ",[47,369,278],{}," instead of ",[47,372,274],{},". The confidence value is the field that earns its keep: wire a threshold so high-confidence reads flow straight through and low-confidence captures route to a human or a second pass instead of getting silently trusted.",[25,375,377],{"id":376},"step-3-parse-a-whole-scanned-document","STEP 3: parse a whole scanned document",[11,379,380,381,383],{},"For a multi-page scanned PDF, send the file URL to Context.dev with ",[47,382,68],{}," so it reads the embedded page images, not just any selectable text layer.",[154,385,387],{"className":198,"code":386,"language":200,"meta":162,"style":162},"# a scanned multi-page PDF -> clean Markdown, OCR the embedded page images\nmonid run -p context.dev -e \u002Fparse \\\n  -i '{\"file_url\":\"https:\u002F\u002Fexample.com\u002Fcontract-scan.pdf\",\"ocr\":true}' -w\n",[47,388,389,394,411],{"__ignoreMap":162},[204,390,391],{"class":206,"line":207},[204,392,393],{"class":323},"# a scanned multi-page PDF -> clean Markdown, OCR the embedded page images\n",[204,395,396,398,400,402,404,406,409],{"class":206,"line":231},[204,397,211],{"class":210},[204,399,331],{"class":214},[204,401,239],{"class":214},[204,403,260],{"class":214},[204,405,245],{"class":214},[204,407,408],{"class":214}," \u002Fparse",[204,410,344],{"class":343},[204,412,413,416,418,421,423],{"class":206,"line":251},[204,414,415],{"class":214},"  -i",[204,417,352],{"class":221},[204,419,420],{"class":214},"{\"file_url\":\"https:\u002F\u002Fexample.com\u002Fcontract-scan.pdf\",\"ocr\":true}",[204,422,358],{"class":221},[204,424,361],{"class":214},[11,426,427,428,430,431,81,434,437],{},"Back comes GitHub-flavored Markdown for the whole file with headings and tables preserved, plus the ",[47,429,301],{}," flag. That flag is also a billing signal: parse only charges the OCR rate on pages that genuinely needed it, so a PDF that is half real text and half scanned images does not pay the OCR premium on every page. The Markdown keeps its heading hierarchy, which means you can chunk on ",[47,432,433],{},"##",[47,435,436],{},"###"," and feed the pieces straight to an embedder.",[25,439,441],{"id":440},"step-4-gate-then-batch","STEP 4: gate, then batch",[11,443,444,445,447],{},"Do not batch on faith. OCR accuracy falls on skewed and low-light photos, so run a handful of your real captures first and eyeball the confidence values from Strale and the ",[47,446,301],{}," output from parse. Once you know the threshold your inputs cross reliably, loop the rest, sending low-confidence images to review rather than downstream.",[25,449,451],{"id":450},"what-it-costs-in-magnitudes","What it costs, in magnitudes",[11,453,454],{},"We do not print rates, because the number that matters is cost per usable extraction and that depends on your input mix. The shape of the bill:",[456,457,458,477],"table",{},[459,460,461],"thead",{},[462,463,464,468,471,474],"tr",{},[465,466,467],"th",{},"Route",[465,469,470],{},"When to use",[465,472,473],{},"Billing shape",[465,475,476],{},"Magnitude",[478,479,480,494],"tbody",{},[462,481,482,485,488,491],{},[483,484,119],"td",{},[483,486,487],{},"One messy image, screenshot, or handwriting",[483,489,490],{},"Per call",[483,492,493],{},"A few cents per image",[462,495,496,498,501,504],{},[483,497,125],{},[483,499,500],{},"A whole scanned file to Markdown",[483,502,503],{},"Tiered, OCR rate only on pages that needed it",[483,505,506],{},"A fraction of a cent per file, a bit more when OCR runs",[11,508,509,510,95],{},"A quick tally for a realistic day: read 40 receipt photos through Strale (a few cents each, so single-digit dollars) and parse a dozen scanned contracts through Context.dev (a fraction of a cent each, plus the OCR uplift only on the scanned pages, so still under a dollar). No per-vendor signup, no monthly floor, and the price shows on the free inspect step before you run. Current magnitudes for both endpoints are on ",[17,511,94],{"href":92,"rel":512},[21],[25,514,516],{"id":515},"why-not-just-self-host-tesseract","Why not just self-host Tesseract",[11,518,519,520,525],{},"The reflex is to install ",[17,521,524],{"href":522,"rel":523},"https:\u002F\u002Fgithub.com\u002Ftesseract-ocr\u002Ftesseract",[21],"Tesseract"," and pay nothing. It is genuinely excellent on clean, flat, printed pages, and if you control capture you should use it. The cost shows up on the messy slice. Tesseract wants deskewed, denoised, thresholded input, so you own a preprocessing pipeline before a single character is read. It reconstructs tables poorly, so layout is lost on exactly the scanned documents you most wanted structured. And it does not read handwriting in any practical way. \"Free per image\" is not free per correct read once you count the tuning, the retries, and the manual fixes. The two hosted routes absorb the preprocessing, the layout reconstruction, and the handwriting case, and bill only when a run succeeds.",[25,527,529],{"id":528},"faq","FAQ",[11,531,532,535,536,538,539,65,541,543],{},[36,533,534],{},"Which OCR API should I use for a screenshot versus a scanned PDF?","\nA single screenshot, receipt photo, or handwritten note goes to Strale ",[47,537,49],{},", a vision-model OCR that returns text plus a confidence value. A whole scanned PDF or office file you want as clean Markdown goes to Context.dev ",[47,540,64],{},[47,542,68],{},". Route by input type, not by an accuracy benchmark.",[11,545,546,549],{},[36,547,548],{},"How do I flag a bad OCR read before it reaches my pipeline?","\nStrale returns a confidence value with the text. Set a threshold: high-confidence reads pass through, low-confidence captures route to human review or a second pass. Because OCR accuracy drops on skewed and low-light photos, sample a handful of real inputs and confirm the threshold before you batch.",[11,551,552,555,556,558],{},[36,553,554],{},"Do I pay the OCR rate on every page of a parsed document?","\nNo. Context.dev parse charges the OCR rate only on pages that actually needed OCR, and the ",[47,557,301],{}," flag in the response tells you whether it fired. A file that is part real text and part scanned images does not pay the OCR premium on the text pages.",[11,560,561,564,565,95],{},[36,562,563],{},"How much does OCR through Monid cost?","\nPay-as-you-go at the price shown on the free inspect step before you run, from one wallet shared with hundreds of other endpoints. Expect a few cents of magnitude per image on the vision route and a fraction of a cent per file on the parse route. Current rates are on ",[17,566,94],{"href":92,"rel":567},[21],[569,570,571],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"title":162,"searchDepth":231,"depth":231,"links":573},[574,575,576,580,581,582,583,584,585,586],{"id":27,"depth":231,"text":28},{"id":101,"depth":231,"text":102},{"id":137,"depth":231,"text":138,"children":577},[578,579],{"id":142,"depth":251,"text":143},{"id":173,"depth":251,"text":174},{"id":191,"depth":231,"text":192},{"id":305,"depth":231,"text":306},{"id":376,"depth":231,"text":377},{"id":440,"depth":231,"text":441},{"id":450,"depth":231,"text":451},{"id":515,"depth":231,"text":516},{"id":528,"depth":231,"text":529},null,"\u002Fimg\u002Fblog\u002Fread-text-off-a-screenshot-or-scan.png","Read text off a screenshot, receipt photo, or scanned PDF with one OCR API call. Route by input type to a vision-model OCR or a whole-file parser.",false,"md",{},true,"\u002Fblog\u002Fread-text-off-a-screenshot-or-scan","2026-08-05",{"title":5,"description":589},"blog\u002Fread-text-off-a-screenshot-or-scan",[289,599,600],"data","agents","0X1Nv7rUmKAlJ83zPqfKVCi5_aQt4EEtF92c72cq9fg",[603,663,734,800],{"id":604,"title":605,"author":587,"body":606,"category":587,"cover":650,"description":162,"draft":590,"extension":591,"image":587,"launchCta":651,"listingCover":587,"meta":654,"navigation":593,"ogImage":587,"path":655,"publishedAt":656,"readTime":587,"seo":657,"stem":658,"tags":659,"toolCategory":587,"updatedAt":587,"__hash__":662},"blog\u002Fblog\u002Fakta-pro-is-now-available-on-monid.md","Introducing private markets\ndata for agents",{"type":8,"value":607,"toc":646},[608,612,620,623,627,633,640,643],[25,609,611],{"id":610},"what-is-aktapro","What is akta.pro",[11,613,614,619],{},[17,615,618],{"href":616,"rel":617},"https:\u002F\u002Fwww.akta.pro\u002F",[21],"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,621,622],{},"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.",[25,624,626],{"id":625},"what-is-monid","What is Monid",[11,628,629,632],{},[17,630,22],{"href":19,"rel":631},[21]," 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,634,635,636,95],{},"Today, Monid provides tools for social media scraping, web search, image and\nmusic generation, people data search, weather APIs, ",[17,637,639],{"href":92,"rel":638},[21],"and more",[641,642],"hr",{},[11,644,645],{},"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":162,"searchDepth":231,"depth":231,"links":647},[648,649],{"id":610,"depth":231,"text":611},{"id":625,"depth":231,"text":626},"\u002Fimg\u002Fblog\u002Fakta-pro-is-now-available-on-monid-v2.png",{"label":652,"command":653},"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":605,"description":162},"blog\u002Fakta-pro-is-now-available-on-monid",[600,660,661,599],"partner-tools","private-markets","05ST9oH9qSQ4_vNxcczvHDEyev2JDIqBwMiM-zelWJo",{"id":664,"title":665,"author":587,"body":666,"category":587,"cover":723,"description":724,"draft":590,"extension":591,"image":587,"launchCta":587,"listingCover":587,"meta":725,"navigation":593,"ogImage":587,"path":726,"publishedAt":727,"readTime":587,"seo":728,"stem":729,"tags":730,"toolCategory":587,"updatedAt":587,"__hash__":733},"blog\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls.md","Your Claude Code can now make phone calls",{"type":8,"value":667,"toc":719},[668,672,683,687,695,698,700,705,711,713,716],[11,669,671],{"style":670},"font-size:18px !important;line-height:1.65 !important;margin:0 0 24px;color:inherit;","Copy this line to your agent to make your first phone call.",[154,673,677],{"className":674,"code":675,"language":676,"meta":162,"style":162},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use Saperly to call my phone number to confirm the connection works\n","sh",[47,678,679],{"__ignoreMap":162},[204,680,681],{"class":206,"line":207},[204,682,675],{},[25,684,686],{"id":685},"what-is-saperly","What is Saperly",[11,688,689,694],{},[17,690,693],{"href":691,"rel":692},"https:\u002F\u002Fsaperly.com\u002F",[21],"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,696,697],{},"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.",[25,699,626],{"id":625},[11,701,702,632],{},[17,703,22],{"href":19,"rel":704},[21],[11,706,707,708,95],{},"Today, Monid provides tools for social media scraping, web search, image \u002F\nmusic \u002F 3d model generation, people data search, weather APIs, ",[17,709,639],{"href":92,"rel":710},[21],[641,712],{},[11,714,715],{},"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.",[569,717,718],{},"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":162,"searchDepth":231,"depth":231,"links":720},[721,722],{"id":685,"depth":231,"text":686},{"id":625,"depth":231,"text":626},"\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":665,"description":724},"blog\u002Fyour-claude-code-can-now-make-phone-calls",[600,660,731,732],"voice","phone","Wp96EVH5j2eyHDSu2f5Rtv0RYmyWX7frAhalel9fOus",{"id":735,"title":736,"author":587,"body":737,"category":587,"cover":789,"description":790,"draft":590,"extension":591,"image":587,"launchCta":587,"listingCover":587,"meta":791,"navigation":593,"ogImage":587,"path":792,"publishedAt":793,"readTime":587,"seo":794,"stem":795,"tags":796,"toolCategory":587,"updatedAt":587,"__hash__":799},"blog\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models.md","Introducing\nClaude for 3D models",{"type":8,"value":738,"toc":785},[739,742,751,755,763,766,768,773,778,780,783],[11,740,741],{"style":670},"Copy this line to your agent to generate your 3D model.",[154,743,745],{"className":674,"code":744,"language":676,"meta":162,"style":162},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a 3D model for a rabbit\n",[47,746,747],{"__ignoreMap":162},[204,748,749],{"class":206,"line":207},[204,750,744],{},[25,752,754],{"id":753},"what-is-suzanne","What is Suzanne",[11,756,757,762],{},[17,758,761],{"href":759,"rel":760},"https:\u002F\u002Fwww.suzanne3d.com",[21],"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,764,765],{},"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.",[25,767,626],{"id":625},[11,769,770,632],{},[17,771,22],{"href":19,"rel":772},[21],[11,774,635,775,95],{},[17,776,639],{"href":92,"rel":777},[21],[641,779],{},[11,781,782],{},"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.",[569,784,718],{},{"title":162,"searchDepth":231,"depth":231,"links":786},[787,788],{"id":753,"depth":231,"text":754},{"id":625,"depth":231,"text":626},"\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":736,"description":790},"blog\u002Fintroducing-suzanne-chatgpt-for-3d-models",[797,600,798],"3d","creative-tools","Mz475YlhLBgR80gyiTlL2MhfALZKYwbl4Rfwy96HZG0",{"id":801,"title":802,"author":587,"body":803,"category":587,"cover":862,"description":863,"draft":590,"extension":591,"image":587,"launchCta":587,"listingCover":587,"meta":864,"navigation":593,"ogImage":587,"path":865,"publishedAt":866,"readTime":587,"seo":867,"stem":868,"tags":869,"toolCategory":587,"updatedAt":587,"__hash__":872},"blog\u002Fblog\u002Fminimax-is-now-available-on-monid.md","MiniMax is now available on Monid",{"type":8,"value":804,"toc":857},[805,808,817,821,829,833,836,838,844,850,852,855],[11,806,807],{"style":670},"Copy this line to your agent to create music.",[154,809,811],{"className":674,"code":810,"language":676,"meta":162,"style":162},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a song with MiniMax Music 2.6\n",[47,812,813],{"__ignoreMap":162},[204,814,815],{"class":206,"line":207},[204,816,810],{},[25,818,820],{"id":819},"minimax-music-26","MiniMax Music 2.6",[11,822,823,828],{},[17,824,827],{"href":825,"rel":826},"https:\u002F\u002Fwww.minimax.io",[21],"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.",[25,830,832],{"id":831},"minimax-text-to-image-image-01","MiniMax Text-to-Image image-01",[11,834,835],{},"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.",[25,837,626],{"id":625},[11,839,840,843],{},[17,841,22],{"href":19,"rel":842},[21]," 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,845,846,847,95],{},"Today, Monid provides tools for social media scraping, web search, image and music generation, people data search, weather APIs, ",[17,848,639],{"href":92,"rel":849},[21],[641,851],{},[11,853,854],{},"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.",[569,856,718],{},{"title":162,"searchDepth":231,"depth":231,"links":858},[859,860,861],{"id":819,"depth":231,"text":820},{"id":831,"depth":231,"text":832},{"id":625,"depth":231,"text":626},"\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":802,"description":863},"blog\u002Fminimax-is-now-available-on-monid",[600,798,870,871],"image-generation","music-generation","B3dZqIjNJNK7Y9ysAenI0XzKobOZMlEP87FRWrW19Vc",1786670266238]