[{"data":1,"prerenderedAt":695},["ShallowReactive",2],{"tool-elevenlabs-en":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":13,"about":20,"sources":27,"cover":51,"og":52,"expertise":53,"locales":54,"lang":55,"title":58,"description":59,"coverAlt":60,"url":61,"pricing":62,"kind":63,"metaTitle":64,"takeaways":65,"faq":71,"toc":84,"blocks":109,"others":469},"elevenlabs","2026-05-27",10,"web",[9,10,11,12],"Text to speech","Voice API","Speech to text","Voice cloning",[4,14,15,16,17,18,19],"elevenlabs api pricing","elevenlabs vs openai tts","text to speech api comparison","elevenlabs flash latency","voice cloning api","eleven v4 model",[21,24],{"name":22,"url":23},"ElevenLabs","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FElevenLabs",{"name":25,"url":26},"Speech synthesis","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSpeech_synthesis",[28,31,34,37,40,42,45,48],{"title":29,"url":30},"ElevenLabs pricing: plans and credits","https:\u002F\u002Felevenlabs.io\u002Fpricing",{"title":32,"url":33},"ElevenAPI pricing: per-product rates","https:\u002F\u002Felevenlabs.io\u002Fpricing\u002Fapi",{"title":35,"url":36},"ElevenLabs documentation: models","https:\u002F\u002Felevenlabs.io\u002Fdocs\u002Fmodels",{"title":38,"url":39},"API reference: create speech","https:\u002F\u002Felevenlabs.io\u002Fdocs\u002Fapi-reference\u002Ftext-to-speech\u002Fconvert",{"title":41,"url":23},"Wikipedia: ElevenLabs",{"title":43,"url":44},"Amazon Polly pricing","https:\u002F\u002Faws.amazon.com\u002Fpolly\u002Fpricing\u002F",{"title":46,"url":47},"OpenAI API pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fpricing",{"title":49,"url":50},"SILMA AI: text to speech price comparison, August 2026","https:\u002F\u002Fsilma.ai\u002Fblog\u002Ftext-to-speech-price-comparison-august-2026","\u002Fimages\u002Fblog\u002Felevenlabs\u002Fcover.webp","\u002Fimages\u002Fblog\u002Felevenlabs\u002Fog.jpg","ai-engineer",[55,56,57],"en","de","hu","ElevenLabs: speech synthesis as an API","A review of the ElevenLabs audio API: model lineup, latency figures, credit and per-character pricing, tier-gated formats, and where OpenAI and Amazon Polly win.","ElevenLabs cover artwork with speech API pipeline labels","https:\u002F\u002Felevenlabs.io","Free tier · from $5 per month","Voice and audio API","ElevenLabs: speech synthesis as an API · Balázs Csorba",[66,67,68,69,70],"The API charges $0.04 per 1,000 characters for Flash and v4 Turbo and $0.08 for v3 and Multilingual v2, roughly three to five times the commodity band where OpenAI, Google and xAI sit.","Every latency figure in the model table is median inference time, marked in the docs as excluding application and network latency.","Useful output formats are gated by plan: MP3 at 192 kbps needs Creator and PCM or WAV at 44.1 kHz needs the $99 Pro plan.","The free plan gives 10,000 credits a month without a commercial licence, and concurrency starts at two simultaneous requests on Multilingual v2.","Nothing is self-hostable, so the cloned voice and the prosody a product depends on are rented rather than owned.",[72,75,78,81],{"q":73,"a":74},"How much does ElevenLabs cost per 1,000 characters?","On the API, $0.04 for Flash and v4 Turbo and $0.08 for v3 and Multilingual v2, with a promotional $0.022 for Eleven v4 until 12 October 2026. The Creative plans bill in credits instead, from $6 for 30,000 credits on Starter to $990 for 6 million on Business, and every product draws from one shared pool.",{"q":76,"a":77},"Which ElevenLabs model has the lowest latency?","Eleven Flash v2.5 publishes about 75 ms and Eleven v4 Turbo about 100 ms, both median inference latency excluding application and network latency. Flash v2.5 also accepts 40,000 characters per request, the largest limit in the lineup, against 10,000 for Eleven v4.",{"q":79,"a":80},"Can ElevenLabs output be used commercially on the free plan?","No. The commercial licence starts with the Starter plan at $6 a month, which also unlocks instant voice cloning. Professional voice cloning appears at Creator ($22) and 44.1 kHz PCM output through the API at Pro ($99).",{"q":82,"a":83},"Does ElevenLabs run inside my own cloud account?","No. It is a hosted API with regional endpoints in the US, EU, India and Singapore, and zero retention is an Enterprise option. There is no self-hosted or open-weight deployment, so leaving means re-synthesising or re-recording the audio.",[85,88,91,94,97,100,103,106],{"id":86,"title":87},"what-it-is","What it is",{"id":89,"title":90},"how-it-works","How it works",{"id":92,"title":93},"models","Models and latency",{"id":95,"title":96},"getting-started","Getting started",{"id":98,"title":99},"pricing","Pricing",{"id":101,"title":102},"where-it-shingles","Where it shingles",{"id":104,"title":105},"verdict","Verdict",{"id":107,"title":108},"sources","Sources",[110,114,123,126,129,167,168,176,185,200,201,204,257,264,265,282,284,291,303,304,307,344,347,350,356,357,360,406,409,410,413,426,435,441,442],{"type":111,"content":112},"paragraph",[113],"ElevenLabs is a hosted audio API: text to speech, speech to text, dubbing, sound effects, music and a voice-agent pipeline behind a single key. The output is still the reason teams choose it, and the position taken here is deliberately narrow: buy it for speech quality and language coverage, not for its pricing architecture, which is built so that a per-character rate never quite lines up with a competitor's.",{"type":111,"content":115},[116,117,122],"It occupies the slot a cloud text-to-speech service used to occupy, an HTTP call inside a content pipeline or a websocket inside a voice agent, and it competes with OpenAI's audio models, Amazon Polly and Google's Chirp on price. All three are cheaper per minute of finished speech. None of them attaches professional voice cloning to an expressive model line, which is what the product actually is. Teams building a ",{"tag":118,"to":119,"children":120},"link","\u002Fblog\u002Fvoice-agents-realtime-latency",[121],"realtime voice loop"," care about that difference more than about the model card.",{"type":124,"level":125,"id":86,"text":87},"heading",2,{"type":111,"content":127},[128],"ElevenLabs was founded in 2022 by Piotr Dąbkowski and Mati Staniszewski, runs from London with offices in New York, Warsaw and San Francisco, and the Wikipedia entry puts headcount at about 400 in 2026. The company sells three surfaces: ElevenCreative in the browser, ElevenAPI for metered use, and ElevenAgents for voice agents. Every model behind them is proprietary. There are no open weights and no self-hosted deployment, only regional endpoints.",{"type":130,"ordered":131,"items":132},"list",false,[133,139,143,147,152,157,162],[134,138],{"tag":135,"children":136},"strong",[137],"Proprietary models"," behind a REST API: nothing to deploy, no weights to download, no on-premises option, and regional hosts only.",[140,142],{"tag":135,"children":141},[9]," spans eleven_v4, eleven_v4_turbo, eleven_v3, eleven_multilingual_v2 and eleven_flash_v2_5, with 90+ languages on the v4 family and 29 on Multilingual v2.",[144,146],{"tag":135,"children":145},[11]," uses Scribe v2, Scribe v2 Realtime at about 150 ms and Scribe v2 Medical, with diarisation for up to 32 speakers and 65 entity types.",[148,151],{"tag":135,"children":149},[150],"Free plan"," gives 10,000 credits a month without a commercial licence; commercial use starts with Starter at $6.",[153,156],{"tag":135,"children":154},[155],"Six public plans",": $0, $6, $22, $99, $299 and $990 a month, plus custom Enterprise terms with SSO, DPA and SLA.",[158,161],{"tag":135,"children":159},[160],"Regional endpoints"," for api.elevenlabs.io alongside US, EU, India and Singapore residency hosts.",[163,166],{"tag":135,"children":164},[165],"Concurrency is per plan",": 2 simultaneous Multilingual v2 requests on Free, 5 on Creator, 10 on Pro, 15 on Business.",{"type":124,"level":125,"id":89,"text":90},{"type":111,"content":169},[170,171,175],"A synthesis call is one POST to ",{"tag":172,"children":173},"code",[174],"\u002Fv1\u002Ftext-to-speech\u002F{voice_id}"," with the output format in the query string and a JSON body of text, model_id and optional voice settings. The response is the audio itself, streamed as bytes rather than wrapped in JSON, and the official SDKs expose the same shape. For realtime work there is a websocket endpoint where only the time the model spends generating counts against the concurrency limit. Determinism is best effort: a seed repeats a take, and previous_text or previous_request_ids keep prosody continuous across chunks.",{"type":177,"attrs":178,"inner":182,"caption":183},"diagram",{"viewBox":179,"role":180,"aria-labelledby":181},"0 0 720 300","img","d1-el-t d1-el-d","\u003Ctitle id=\"d1-el-t\">ElevenLabs: one request from text to audio\u003C\u002Ftitle>\u003Cdesc id=\"d1-el-d\">Text is normalised, fed to a model, encoded in the requested format and returned as audio bytes. The plan decides concurrency and queue priority, and it decides which output formats are reachable at all.\u003C\u002Fdesc>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">ElevenLabs: one request from text to audio\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">elevenlabs.io docs\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"56\" class=\"d-label\">EVERY REQUEST\u003C\u002Ftext>\u003Crect x=\"20\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"80\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Text\u003C\u002Ftext>\u003Ctext x=\"80\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">seed, history\u003C\u002Ftext>\u003Cpath d=\"M140 102 H152\" class=\"d-line\" \u002F>\u003Cpath d=\"M160 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"160\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"220\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Normalise\u003C\u002Ftext>\u003Ctext x=\"220\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">numbers, units\u003C\u002Ftext>\u003Cpath d=\"M280 102 H292\" class=\"d-line\" \u002F>\u003Cpath d=\"M300 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"300\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"360\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Model\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">v4, flash\u003C\u002Ftext>\u003Cpath d=\"M420 102 H432\" class=\"d-line\" \u002F>\u003Cpath d=\"M440 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"440\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"500\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Encode\u003C\u002Ftext>\u003Ctext x=\"500\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">mp3, pcm, wav\u003C\u002Ftext>\u003Cpath d=\"M560 102 H572\" class=\"d-line\" \u002F>\u003Cpath d=\"M580 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"580\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"640\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Audio\u003C\u002Ftext>\u003Ctext x=\"640\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">bytes out\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"172\" class=\"d-label\">GOVERNED BY THE PLAN\u003C\u002Ftext>\u003Cpath d=\"M330 134 C330 162 185 160 185 176\" class=\"d-line\" \u002F>\u003Cpath d=\"M185 186 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M390 134 C390 162 535 160 535 176\" class=\"d-line\" \u002F>\u003Cpath d=\"M535 186 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Crect x=\"20\" y=\"186\" width=\"330\" height=\"64\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"185\" y=\"214\" text-anchor=\"middle\" class=\"d-text\">Concurrency queue\u003C\u002Ftext>\u003Ctext x=\"185\" y=\"235\" text-anchor=\"middle\" class=\"d-small\">2 free, 15 business\u003C\u002Ftext>\u003Crect x=\"370\" y=\"186\" width=\"330\" height=\"64\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"535\" y=\"214\" text-anchor=\"middle\" class=\"d-text\">Format gating\u003C\u002Ftext>\u003Ctext x=\"535\" y=\"235\" text-anchor=\"middle\" class=\"d-small\">pcm 44.1 needs pro\u003C\u002Ftext>",[184],"Characters decide the bill; the plan decides queue priority and which output formats exist for you.",{"type":111,"content":186},[187,188,191,192,195,196,199],"Format choice is where the tier structure becomes visible. The default is ",{"tag":172,"children":189},[190],"mp3_44100_128","; MP3 at 192 kbps needs Creator, and PCM or WAV at 44.1 kHz needs Pro, which is the tier most speech pipelines actually want. Concurrency is enforced through a queue rather than a rejection, and the docs say crossing the limit typically adds about 50 ms. The response headers ",{"tag":172,"children":193},[194],"current-concurrent-requests"," and ",{"tag":172,"children":197},[198],"maximum-concurrent-requests"," are the only telemetry provided for it.",{"type":124,"level":125,"id":92,"text":93},{"type":111,"content":202},[203],"The model page publishes latency figures with a footnote that matters: every one of them is marked as excluding application and network latency. Read them as inference time in isolation, which is useful for comparing Flash against Multilingual v2 and useless as a user-facing promise until the socket path has been measured on the region you will call.",{"type":205,"head":206,"rows":215},"table",[207,209,211,213],[208],"Model",[210],"Published latency",[212],"Languages",[214],"Characters per request",[216,225,232,241,248],[217,219,221,223],[218],"eleven_v4",[220],"No figure published",[222],"90+",[224],"10,000",[226,228,230,231],[227],"eleven_v4_turbo",[229],"About 100 ms median inference",[222],[224],[233,235,237,239],[234],"eleven_flash_v2_5",[236],"About 75 ms",[238],"32",[240],"40,000",[242,244,245,247],[243],"eleven_multilingual_v2",[220],[246],"29",[224],[249,251,253,255],[250],"eleven_v3",[252],"280 ms in the Conversational variant",[254],"70+",[256],"5,000",{"type":111,"content":258},[259,260,263],"One behavioural detail decides model choice more often than quality does. Flash v2.5 leaves text normalisation off by default to protect latency, so phone numbers, dates and currency come out awkwardly, and switching it on with ",{"tag":172,"children":261},[262],"apply_text_normalization"," is an Enterprise-only option for the v2.5 models. Multilingual v2 normalises numbers properly, which is why the docs recommend having the LLM normalise the text before synthesis rather than paying for it inside the TTS call.",{"type":124,"level":125,"id":95,"text":96},{"type":111,"content":266},[267,268,271,272,275,276,278,279,281],"The Python client installs with ",{"tag":172,"children":269},[270],"pip install elevenlabs"," and the key lives in the dashboard under Developers. The snippet below synthesises one clip with the default output format; swapping ",{"tag":172,"children":273},[274],"model_id"," to ",{"tag":172,"children":277},[234]," buys latency and a 40,000 character limit, and swapping it to ",{"tag":172,"children":280},[218]," buys the newest model.",{"type":172,"code":283},"# pip install elevenlabs\nfrom elevenlabs import ElevenLabs\n\nclient = ElevenLabs(api_key=\"xi-api-key\")\n\naudio = client.text_to_speech.convert(\n    voice_id=\"JBFqnCBsd6RMkjVDRZzb\",\n    output_format=\"mp3_44100_128\",\n    text=\"The first move is what sets everything in motion.\",\n    model_id=\"eleven_multilingual_v2\",\n)\n\nwith open(\"clip.mp3\", \"wb\") as f:\n    for chunk in audio:\n        f.write(chunk)",{"type":111,"content":285},[286,287,290],"Two knobs change behaviour without changing price: the voice settings (stability, similarity boost, style, speed) and the language code. For long text, split into chunks and pass ",{"tag":172,"children":288},[289],"previous_request_ids"," so prosody continues across requests. For agents, stream over the websocket instead of buffering a complete MP3, because buffering puts the whole generation time in front of the first audible byte.",{"type":292,"variant":293,"title":294,"body":295},"callout","warn","Before this reaches production",[296,298],[297],"The free plan carries no commercial licence, and generation is charged per request rather than per download. Anything shipped to a user needs at least Starter, and cloned voices need Creator for professional cloning.",[299,300,302],"Concurrency starts at 2 simultaneous Multilingual v2 requests on Free and 5 on Creator, so a burst of parallel renders queues instead of failing. Design backoff around ",{"tag":172,"children":301},[194]," rather than around HTTP 429, because the queue is where the latency actually goes.",{"type":124,"level":125,"id":98,"text":99},{"type":111,"content":305},[306],"There are two meters and they do not convert into each other. The Creative plans bill in credits, a single shared pool that every product draws from: text to speech costs about a credit per character, speech to text 330 credits a minute, music 900 a minute and dubbing 2,000 a minute. The ElevenAPI side is billed in US dollars instead of credits, which is the only version that can be lined up against another vendor's rate card.",{"type":130,"ordered":131,"items":308},[309,314,319,324,329,334,339],[310,313],{"tag":135,"children":311},[312],"Free",": $0, 10,000 credits a month, no commercial licence.",[315,318],{"tag":135,"children":316},[317],"Starter",": $6, 30,000 credits, commercial licence, instant voice cloning.",[320,323],{"tag":135,"children":321},[322],"Creator",": $22, 121,000 credits, professional voice cloning, 192 kbps audio.",[325,328],{"tag":135,"children":326},[327],"Pro",": $99, 600,000 credits, 44.1 kHz PCM and WAV through the API.",[330,333],{"tag":135,"children":331},[332],"Scale",": $299, 1,800,000 credits, 3 workspace seats.",[335,338],{"tag":135,"children":336},[337],"Business",": $990, 6,000,000 credits, 10 seats, low-latency text to speech from 5 cents a minute.",[340,343],{"tag":135,"children":341},[342],"Annual billing"," costs ten months for twelve, which puts Starter at $5 a month and Pro at $82.50.",{"type":111,"content":345},[346],"On the API, text to speech is $0.04 per 1,000 characters for Flash and v4 Turbo and $0.08 for v3 and Multilingual v2, with a promotional $0.022 for Eleven v4 until 12 October 2026. Speech to text is $0.22 an hour for Scribe v2 and $0.39 for Scribe v2 Realtime, the speech engine for agents is $0.08 a minute with burst pricing at $0.16, music is $0.15 a minute, and dubbing runs from $0.33 a minute with a watermark to $2.20 for Dubbing v2.",{"type":111,"content":348},[349],"Credits roll over for up to two months while a paid subscription stays active, so the balance can reach three times the monthly quota, and pay-as-you-go top-ups sit outside that cap. Unused credits are lost on downgrade or cancellation, which turns the annual plan from a discount into a bet on usage.",{"type":292,"variant":351,"title":352,"body":353},"tip","Plan on list prices",[354],[355],"A promotional rate is not an architecture. The comparison published on 25 August 2026, which normalises every vendor to dollars per finished minute, puts the commodity band at about $0.015 with OpenAI, Google and xAI all inside a rounding error of it, and expressive models at $0.04 to $0.10. ElevenLabs sits in that premium band on purpose. The question worth answering before signature is whether prosody and cloning justify two to five times the commodity rate for this workload.",{"type":124,"level":125,"id":101,"text":102},{"type":111,"content":358},[359],"The weaknesses are structural rather than cosmetic. Nothing is self-hostable, so availability, retention and price are all vendor decisions, and zero retention exists only as a parameter on Enterprise. Per-request character limits cap long-form work at 10,000 characters on Eleven v4 and 40,000 on Flash, so a book is a loop of stitched requests. The credit pool makes cost forecasting harder than a plain character rate, useful formats sit behind plan gates rather than feature gates, and the free tier does not allow commercial use at all.",{"type":205,"head":361,"rows":369},[362,364,365,367],[363],"Attribute",[22],[366],"OpenAI TTS",[368],"Amazon Polly",[370,379,388,397],[371,373,375,377],[372],"Price per 1,000 characters",[374],"$0.04 for Flash and v4 Turbo, $0.08 for v3 and Multilingual v2",[376],"$0.015 for tts-1 and $0.030 for tts-1-hd; gpt-4o-mini-tts bills audio tokens",[378],"$0.004 Standard, $0.016 Neural, $0.030 Generative",[380,382,384,386],[381],"Billing unit",[383],"Characters on the API, one shared credit pool on the Creative plans",[385],"Characters for tts-1, audio tokens for gpt-4o-mini-tts",[387],"Characters, charged monthly",[389,391,393,395],[390],"Free tier",[392],"10,000 credits a month, commercial licence starts at Starter",[394],"None listed on the pricing page",[396],"5 million Standard characters a month for the first 12 months",[398,400,402,404],[399],"Where it fits",[401],"Cloned and expressive voices, 90+ languages, character work",[403],"Utility speech beside an existing OpenAI stack",[405],"Bulk narration inside AWS, with cached replay at no extra cost",{"type":111,"content":407},[408],"The lock-in is the voice itself. A cloned voice, the pronunciation dictionaries and the prosody decisions behind a product line have no export format, so an exit plan is really a re-recording plan. Treat the audio as the artefact and the API as a supplier that can be replaced only by re-synthesis, and keep the source text and the seed for every take worth reproducing.",{"type":124,"level":125,"id":104,"text":105},{"type":111,"content":411},[412],"Adopt it when the voice is part of the product. ElevenLabs is the right choice for audiobooks, character work, multilingual narration and any interface where the listener can hear the difference; it is the wrong choice for bulk utility speech, where Polly at $0.016 per thousand characters does the same job. The pricing is the weak surface: legible only after normalising, gating formats rather than features, and rewarding whoever reads the FAQ before the architecture.",{"type":130,"ordered":414,"items":415},true,[416,418,420,422,424],[417],"Choose it when voice quality is audible to the user: narration, characters, marketing material, multilingual content.",[419],"Take Flash or v4 Turbo for agents and keep the request on a websocket; treat 75 ms and 100 ms as inference figures, not as round-trip promises.",[421],"Budget at Creator rather than Starter if cloned voices or 192 kbps audio matter, and at Pro if the pipeline needs 44.1 kHz PCM.",[423],"Do not choose it for pure utility speech, for data residency without Enterprise terms, or for anything that must run inside your own VPC.",[425],"Model the bill in characters per finished minute of audio rather than in credits, and check that unit against a competitor before committing.",{"type":427,"content":428},"quote",[429,430,434],"The footnote attached to every latency figure in the model documentation reads ",{"tag":431,"children":432},"em",[433],"excluding application and network latency",". An architecture decision that quotes 75 ms without measuring the socket path is quoting a number that has already left out the part that usually dominates.",{"type":292,"variant":436,"title":437,"body":438},"note","One rule of thumb",[439],[440],"If a person can record the audio once and reuse it, ElevenLabs is an expensive way to avoid a studio session. If the text changes daily, the recording cannot be reused and the listener notices the voice, it is the cheapest option on the board.",{"type":124,"level":125,"id":107,"text":108},{"type":130,"ordered":414,"items":443},[444,448,451,454,457,460,463,466],[445],{"tag":446,"href":30,"children":447},"a",[29],[449],{"tag":446,"href":33,"children":450},[32],[452],{"tag":446,"href":36,"children":453},[35],[455],{"tag":446,"href":39,"children":456},[38],[458],{"tag":446,"href":23,"children":459},[41],[461],{"tag":446,"href":44,"children":462},[43],[464],{"tag":446,"href":47,"children":465},[46],[467],{"tag":446,"href":50,"children":468},[49],[470,528,584,630],{"slug":471,"published":472,"minutes":6,"category":7,"tags":473,"keywords":479,"about":487,"sources":491,"cover":521,"og":522,"expertise":53,"locales":523,"lang":55,"title":524,"description":525,"coverAlt":526,"url":490,"pricing":527,"kind":474},"browserbase-stagehand","2026-09-30",[474,475,476,477,478],"Browser automation","Web agents","Headless browsers","Playwright","MCP",[480,481,482,483,484,485,486],"browserbase","stagehand","stagehand vs playwright","browserbase pricing","ai web agent framework","headless browser api","browserbase alternatives",[488],{"name":489,"url":490},"Browserbase","https:\u002F\u002Fwww.browserbase.com",[492,495,498,501,504,507,510,513,516,519],{"title":493,"url":494},"Browserbase pricing","https:\u002F\u002Fwww.browserbase.com\u002Fpricing",{"title":496,"url":497},"Browserbase plans and pricing docs","https:\u002F\u002Fdocs.browserbase.com\u002Fguides\u002Fplans-and-pricing",{"title":499,"url":500},"Stagehand documentation","https:\u002F\u002Fdocs.stagehand.dev\u002F",{"title":502,"url":503},"Stagehand quickstart","https:\u002F\u002Fdocs.stagehand.dev\u002Fv4\u002Ffirst-steps\u002Fquickstart",{"title":505,"url":506},"Stagehand v4 announcement","https:\u002F\u002Fwww.browserbase.com\u002Fblog\u002Fstagehand-v4",{"title":508,"url":509},"Stagehand repository","https:\u002F\u002Fgithub.com\u002Fbrowserbase\u002Fstagehand",{"title":511,"url":512},"Browser Use comparison of the two vendors","https:\u002F\u002Fbrowser-use.com\u002Fposts\u002Fbrowser-use-vs-browserbase",{"title":514,"url":515},"Browser Use pricing","https:\u002F\u002Fwww.browser-use.com\u002Fpricing",{"title":517,"url":518},"Skyvern pricing","https:\u002F\u002Fskyvern.com\u002Fpricing",{"title":477,"url":520},"https:\u002F\u002Fplaywright.dev\u002F","\u002Fimages\u002Fblog\u002Fbrowserbase-stagehand\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fbrowserbase-stagehand\u002Fog.jpg",[55,56,57],"Browserbase and Stagehand reviewed: rented Chrome for AI agents","Browserbase rents managed Chrome by the minute and Stagehand adds natural-language steps on top. What it costs, where the meters run and when plain Playwright wins.","Abstract pipeline artwork for the Browserbase and Stagehand review","From $20 per month · OSS library free",{"slug":529,"published":472,"minutes":530,"category":7,"tags":531,"keywords":536,"about":543,"sources":551,"cover":575,"og":576,"expertise":53,"locales":577,"lang":55,"title":578,"description":579,"coverAlt":580,"url":581,"pricing":582,"kind":583},"webmcp",11,[532,533,534,535,478],"WebMCP","Agent tools","JSON Schema","Chrome",[529,537,538,539,540,541,542],"webmcp vs mcp","document.modelContext registerTool","webmcp declarative api","browser agent tools","webmcp origin trial","webmcp chrome 149",[544,546,549],{"name":532,"url":545},"https:\u002F\u002Fgithub.com\u002Fwebmachinelearning\u002Fwebmcp",{"name":547,"url":548},"Model Context Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_Context_Protocol",{"name":534,"url":550},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FJSON_Schema",[552,555,558,561,564,567,570,572],{"title":553,"url":554},"Chrome for Developers: WebMCP (get started)","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp",{"title":556,"url":557},"Chrome for Developers: Imperative API","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fimperative-api",{"title":559,"url":560},"Chrome for Developers: Declarative API","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fdeclarative-api",{"title":562,"url":563},"Chrome for Developers: WebMCP versus MCP","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fcompare-mcp",{"title":565,"url":566},"Chrome for Developers: WebMCP tool security","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fsecure-tools",{"title":568,"url":569},"Chrome for Developers: Build effective tools","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fbuild-tools",{"title":571,"url":545},"WebMCP explainer and specification draft",{"title":573,"url":574},"WebMCP implementation status","https:\u002F\u002Fgithub.com\u002Fwebmachinelearning\u002Fwebmcp\u002Fblob\u002Fmain\u002Fimplementation-status.md","\u002Fimages\u002Fblog\u002Fwebmcp\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fwebmcp\u002Fog.jpg",[55,56,57],"WebMCP: publishing tools instead of pixels","WebMCP lets a page publish typed, callable tools to an in-browser agent. What the standard does, how much of it ships today, and where a plain MCP server is still the better call.","A page registering typed tools with the browser, a browser agent calling one of them, and the tool running inside the page and updating its own interface.","https:\u002F\u002Fgithub.com\u002Fwebmcp","Emerging standard, open","Browser protocol",{"slug":585,"published":5,"minutes":6,"category":7,"tags":586,"keywords":589,"about":597,"sources":601,"cover":623,"og":624,"expertise":53,"locales":625,"lang":55,"title":626,"description":627,"coverAlt":628,"url":599,"pricing":629,"kind":474},"playwright",[587,474,478,588],"End-to-end testing","Cross-browser",[585,590,591,592,593,594,595,596],"playwright vs selenium","playwright mcp","browser automation testing","playwright test runner","playwright for ai agents","playwright vs cypress","playwright cloud pricing",[598,600],{"name":477,"url":599},"https:\u002F\u002Fplaywright.dev",{"name":547,"url":548},[602,605,608,611,614,617,620],{"title":603,"url":604},"Playwright documentation: installation","https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fintro",{"title":606,"url":607},"Playwright MCP introduction","https:\u002F\u002Fplaywright.dev\u002Fmcp\u002Fintroduction",{"title":609,"url":610},"Playwright CLI introduction","https:\u002F\u002Fplaywright.dev\u002Fagent-cli\u002Fintroduction",{"title":612,"url":613},"Playwright Test agents","https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Ftest-agents",{"title":615,"url":616},"npm package metadata for @playwright\u002Ftest","https:\u002F\u002Fregistry.npmjs.org\u002F@playwright\u002Ftest\u002Flatest",{"title":618,"url":619},"Microsoft Learn: Playwright Workspaces free trial","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fapp-testing\u002Fplaywright-workspaces\u002Fhow-to-try-playwright-workspaces-free",{"title":621,"url":622},"Azure App Testing pricing","https:\u002F\u002Fazure.microsoft.com\u002Fen-us\u002Fpricing\u002Fdetails\u002Fapp-testing\u002F","\u002Fimages\u002Fblog\u002Fplaywright\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fplaywright\u002Fog.jpg",[55,56,57],"Playwright: one browser API for tests, scripts and agents","Playwright drives Chromium, Firefox and WebKit from one Apache-2.0 API: a test runner, an agent-facing CLI and an MCP server. What it costs and where it falls short.","A Playwright test run: a spec file, a runner fanning out to three browser engines, and an agent reading accessibility snapshots.","Apache-2.0 · cloud paid",{"slug":631,"published":632,"minutes":6,"category":7,"tags":633,"keywords":639,"about":648,"sources":655,"cover":686,"og":687,"expertise":53,"locales":688,"lang":55,"title":689,"description":690,"coverAlt":691,"url":692,"pricing":693,"kind":694},"replicate","2026-05-22",[634,635,636,637,638],"Model hosting","Serverless GPU","Diffusion","Async jobs","Webhooks",[640,641,642,643,644,645,646,647],"replicate api","replicate vs fal.ai","serverless gpu inference pricing","replicate webhooks","replicate cold start","replicate vs baseten","how to run an open source model in production","replicate prediction api",[649,652],{"name":650,"url":651},"Replicate","https:\u002F\u002Freplicate.com\u002Fdocs",{"name":653,"url":654},"Serverless computing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FServerless_computing",[656,659,662,665,668,671,674,677,680,683],{"title":657,"url":658},"Replicate pricing","https:\u002F\u002Freplicate.com\u002Fpricing",{"title":660,"url":661},"Replicate docs: About predictions","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fpredictions",{"title":663,"url":664},"Replicate docs: Create a prediction","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fpredictions\u002Fcreate-a-prediction",{"title":666,"url":667},"Replicate docs: Prediction lifecycle","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fpredictions\u002Flifecycle",{"title":669,"url":670},"Replicate docs: Rate limits","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fpredictions\u002Frate-limits",{"title":672,"url":673},"Replicate docs: Data retention","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fpredictions\u002Fdata-retention",{"title":675,"url":676},"Replicate docs: Verify webhooks","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fwebhooks\u002Fverify-webhook",{"title":678,"url":679},"Replicate docs: Official models","https:\u002F\u002Freplicate.com\u002Fdocs\u002Ftopics\u002Fmodels\u002Fofficial-models",{"title":681,"url":682},"fal.ai pricing","https:\u002F\u002Ffal.ai\u002Fpricing",{"title":684,"url":685},"Baseten pricing","https:\u002F\u002Fwww.baseten.co\u002Fpricing\u002F","\u002Fimages\u002Fblog\u002Freplicate\u002Fcover.webp","\u002Fimages\u002Fblog\u002Freplicate\u002Fog.jpg",[55,56,57],"Replicate, reviewed: a model API priced per second, with the sharp edges named","Replicate puts thousands of open models behind one prediction API and bills per second of compute. A review of cold boots, version churn and the one-hour data deletion.","A request moves from starting to processing, then into one of four terminal states: succeeded, failed, canceled or aborted.","https:\u002F\u002Freplicate.com","Pay per second of compute","Model hosting API",1791383549029]