{"text": " Hi, welcome to another video. So by now you probably know about Antigravity, which is Google's agentic IDE. It's actually pretty good, but the best part about it is not really the IDE itself. The best part is the models that come with it. With just a normal Google account, Antigravity gives you access to Gemini 3.1 Pro, Gemini 3.5 Flash, and believe it or not, even Claude models like Opus 4.6, Thinking, and Sonnet 4.6 all for free with pretty decent rate limits. Now that's amazing, but there's one big problem. All of this is locked inside the Antigravity IDE, and if you ask me, the harness matters just as much as the model these days. You might want to use Opus 4.6 inside Claude Code, or Gemini 3.1 Pro inside OpenCode, or Klein, or Rucode, or even in your own apps through an API. But Google obviously doesn't give you an API for these models. The Gemini API costs money, and the Claude API is literally one of the most expensive ones out there. Well, this is where CLIProxy API comes in. It's an open-source project that basically takes your Antigravity and wraps it up as a local API server that's compatible with the OpenAI, Gemini, and Claude API formats. So, any tool that can talk to any of these APIs can now use the Antigravity models. And it doesn't stop at Antigravity either. It can also wrap your ChatGPT Codex account, your Claude Code subscription, Grok, Kimi, Gemini, CLI, and more, all behind one single endpoint with multi-account load balancing. But in this video, we'll mainly focus on the Antigravity part because that's the free lunch here. So, let's get right into it and set this thing up. First, we need to install it. If you're on a Mac, it's super simple. Just open your terminal and run brew install CLIProxy API. Once that's done, you can run brew services, start CLIProxy API, and it'll keep running in the background as a service. If you're on Linux, they have a one-line installer script. You just copy the curl command from their docs, which are linked below, and pipe it into Bash. It downloads the binary and sets everything up for you. If you're on Arch, it's also on the AUR, so you can just install it with Ye. And if you're on Windows, you can grab the latest release from their GitHub repo, extract it, and run the EXE. They also have a desktop GUI app called Easy CLI. If you don't want to touch the terminal at all, there's a Docker image as well if you want to run it on a server. So, basically, every platform is covered, which is pretty good for sure. Once it's installed, there's a config file called config.yaml on Mac and Linux. It generally lives in the .clyproxy API folder in your home directory or in the Homebrew, etc. folder if you installed it via brew. The defaults are mostly fine. The server runs on port 8317. The one thing you should do is look at the API key section in the config and set your own key there. This is the key that your clients will use to talk to the proxy. You can set it to anything, like sk-my-key or whatever you want. If you're only running it locally, this doesn't matter that much. But if you ever expose this on a server, you definitely want a proper key here. Now, let's connect antigravity. This is the main part, and it's honestly just one command. In your terminal, run the .clyproxy API binary with the .clyproxy API flag. When you run it, it'll open a browser. You just log in, and that's it. The OAuth callback comes back on a local port. The token gets saved into your auth directory, and it will automatically refresh it in the background from then on. Okay, so now the proxy is running. With our antigravity connected, let's see what models we actually get. If you hit the model's endpoint on localhost port 8317, you'll see the whole list. As I'm making this video, the antigravity provider gives you Claude Opus 4.6, thinking Claude Sané 4.6, Gemini 3.1, Pro in high and low reasoning variants, Gemini 3.5 Flash in a few effort levels, Gemini 3 Flash, a flash image model, and even GPT-OSS 120B. That's three different Frontier Labs models, which is just amazing. Now, let's actually use these in some harnesses. And this is where the compatible API formats matter, because every tool speaks one of these protocols. Let's start with Claude Code, because using Opus 4.6 in Claude Code without paying Anthropic anything is obviously the headline here. Ever since Claude Code basically started rug-pulling people on limits, everyone's been looking for ways around it. So for this, you just need to set a few environment variables. First, set the Anthropic-based URL variable to your local proxy, which is HTTP localhost port 8317. Then set the Anthropic auth token variable to the API key you put in your config, and then you map the models. There is an environment variable for the default Opus model, one for the default Sonnet model, and one for the default Haiku model. You can point the Opus 1 at Claude Opus 4.6, thinking the Sonnet one at Claude Sonnet 4.6. And for the Haiku one, you can actually point it at something like Gemini 3.5 Flash, which is a fun little trick, because the proxy translates between the Claude format and the other providers on the fly. You can put these exports in your shell profile, or create a small script that launches Claude Code with them. Now, when you start Claude Code, it's talking to your local proxy, which is talking to Antigravity, and you're running Opus 4.6 on Google's Dime. Next, OpenCode. This one is also super simple. You just open the OpenCode.jsonconfig file in your .config folder, and under the Provider section, you add the base URL pointing to localhost port 8317 slash v1, along with your API key. Then you can just pick any of the Antigravity models from the model list inside OpenCode. Gemini 3.1 Procode in OpenCode works really well, to be honest. Then there's the Codex CLI. For that one, you edit the config.2ml file in your .codex folder, and add a custom model provider block with the base URL set to localhost port 8317 slash v1, and the wire API set to responses. Then set the model to whatever you want to use. The docs have the exact snippet for this, and I'll link them below. And for tools like Klein and Rucode, you just select the OpenAI-compatible provider in their settings, put in localhost port 8317 slash v1 as the base URL, paste your key, and select the model. The same thing works for basically anything that supports a custom OpenAI-compatible endpoint, which is literally every AI tool at this point. You can even hit it from your own code with the normal OpenAI or Anthropic SDKs by just changing the base URL. So let me show you this quickly. I have the proxy running here, and I've set up Claude Code with the environment variables. Let's ask it to build a small app. I'll type something like create a simple expense tracker web app with charts. Let's send it and see. And you can see, it's working through the task like normal. It's creating the files, running commands, doing its thing. The responses are streaming in nicely, tool calls work, and if I check the proxy logs, you can see the requests going out to the anti-gravity backend. From Claude Code's perspective, nothing has changed at all. It just thinks it's talking to Anthropic, and the quality is exactly what you'd expect, because this is the actual Opus 4.6 thinking model, not some quantized knockoff. If we wait a bit. And it's now done. The app works on the first try, and this whole session cost me exactly zero dollars. So this is kind of great. Now a few things you should know. The anti-gravity quotas are per five-hour window, and they reset over time. Gemini models have pretty generous limits, while the Claude models have tighter ones, which makes sense, because Google is paying Anthropic for those. There's also a web management UI that comes with it, where you can see your accounts, usage, and manage keys from the browser. And there's a bunch of community apps built around it, like menu bar apps that track your quotas across all the accounts. The ecosystem around this project is surprisingly big. Overall, this is one of the best setups you can run right now, if you ask me. You get Opus 4.6, Gemini 3.1 Pro, and Gemini 3.5 Flash in any harness you like. I've tried a lot of these proxy projects, and this one is easily the most polished and actively maintained of the bunch. This is a really good option for sure, especially for students and anyone who can't justify paying $200 a month for a coding subscription. Overall, it's pretty cool. Anyway, let me know your thoughts in the comments. If you liked this video, consider donating through the Super Thanks option, or becoming a member by clicking the Join button. Also, give this video a thumbs up and subscribe to my channel. I'll see you in the next one. Until then, bye. Bye.", "segments": [{"id": 0, "seek": 0, "start": 0.0, "end": 9.92, "text": " Hi, welcome to another video. So by now you probably know about Antigravity,", "tokens": [50365, 2421, 11, 2928, 281, 1071, 960, 13, 407, 538, 586, 291, 1391, 458, 466, 5130, 328, 13404, 507, 11, 50861], "temperature": 0, "avg_logprob": -0.09287227283824574, "compression_ratio": 1.5258620689655173, "no_speech_prob": 9.035699163710553e-13}, {"id": 1, "seek": 0, "start": 10.22, "end": 15.94, "text": " which is Google's agentic IDE. It's actually pretty good, but the best part about it is not", "tokens": [50876, 597, 307, 3329, 311, 9461, 299, 40930, 13, 467, 311, 767, 1238, 665, 11, 457, 264, 1151, 644, 466, 309, 307, 406, 51162], "temperature": 0, "avg_logprob": -0.09287227283824574, "compression_ratio": 1.5258620689655173, "no_speech_prob": 9.035699163710553e-13}, {"id": 2, "seek": 0, "start": 15.94, "end": 21.3, "text": " really the IDE itself. The best part is the models that come with it. With just a normal", "tokens": [51162, 534, 264, 40930, 2564, 13, 440, 1151, 644, 307, 264, 5245, 300, 808, 365, 309, 13, 2022, 445, 257, 2710, 51430], "temperature": 0, "avg_logprob": -0.09287227283824574, "compression_ratio": 1.5258620689655173, "no_speech_prob": 9.035699163710553e-13}, {"id": 3, "seek": 0, "start": 21.3, "end": 28.04, "text": " Google account, Antigravity gives you access to Gemini 3.1 Pro, Gemini 3.5 Flash, and believe it", "tokens": [51430, 3329, 2696, 11, 5130, 328, 13404, 507, 2709, 291, 2105, 281, 22894, 3812, 805, 13, 16, 1705, 11, 22894, 3812, 805, 13, 20, 20232, 11, 293, 1697, 309, 51767], "temperature": 0, "avg_logprob": -0.09287227283824574, "compression_ratio": 1.5258620689655173, "no_speech_prob": 9.035699163710553e-13}, {"id": 4, "seek": 2804, "start": 28.04, "end": 34.5, "text": " or not, even Claude models like Opus 4.6, Thinking, and Sonnet 4.6 all for free with pretty decent", "tokens": [50365, 420, 406, 11, 754, 12947, 2303, 5245, 411, 12011, 301, 1017, 13, 21, 11, 24460, 11, 293, 5185, 7129, 1017, 13, 21, 439, 337, 1737, 365, 1238, 8681, 50688], "temperature": 0, "avg_logprob": -0.07157603730546667, "compression_ratio": 1.5562700964630225, "no_speech_prob": 6.558584513156884e-13}, {"id": 5, "seek": 2804, "start": 34.5, "end": 39.8, "text": " rate limits. Now that's amazing, but there's one big problem. All of this is locked inside the", "tokens": [50688, 3314, 10406, 13, 823, 300, 311, 2243, 11, 457, 456, 311, 472, 955, 1154, 13, 1057, 295, 341, 307, 9376, 1854, 264, 50953], "temperature": 0, "avg_logprob": -0.07157603730546667, "compression_ratio": 1.5562700964630225, "no_speech_prob": 6.558584513156884e-13}, {"id": 6, "seek": 2804, "start": 39.8, "end": 44.739999999999995, "text": " Antigravity IDE, and if you ask me, the harness matters just as much as the model these days.", "tokens": [50953, 5130, 328, 13404, 507, 40930, 11, 293, 498, 291, 1029, 385, 11, 264, 19700, 7001, 445, 382, 709, 382, 264, 2316, 613, 1708, 13, 51200], "temperature": 0, "avg_logprob": -0.07157603730546667, "compression_ratio": 1.5562700964630225, "no_speech_prob": 6.558584513156884e-13}, {"id": 7, "seek": 2804, "start": 45.019999999999996, "end": 51.5, "text": " You might want to use Opus 4.6 inside Claude Code, or Gemini 3.1 Pro inside OpenCode, or Klein,", "tokens": [51214, 509, 1062, 528, 281, 764, 12011, 301, 1017, 13, 21, 1854, 12947, 2303, 15549, 11, 420, 22894, 3812, 805, 13, 16, 1705, 1854, 7238, 34, 1429, 11, 420, 33327, 11, 51538], "temperature": 0, "avg_logprob": -0.07157603730546667, "compression_ratio": 1.5562700964630225, "no_speech_prob": 6.558584513156884e-13}, {"id": 8, "seek": 2804, "start": 51.76, "end": 56.739999999999995, "text": " or Rucode, or even in your own apps through an API. But Google obviously doesn't give you an API for", "tokens": [51551, 420, 497, 1311, 1429, 11, 420, 754, 294, 428, 1065, 7733, 807, 364, 9362, 13, 583, 3329, 2745, 1177, 380, 976, 291, 364, 9362, 337, 51800], "temperature": 0, "avg_logprob": -0.07157603730546667, "compression_ratio": 1.5562700964630225, "no_speech_prob": 6.558584513156884e-13}, {"id": 9, "seek": 5674, "start": 56.74, "end": 62.260000000000005, "text": " these models. The Gemini API costs money, and the Claude API is literally one of the most expensive", "tokens": [50365, 613, 5245, 13, 440, 22894, 3812, 9362, 5497, 1460, 11, 293, 264, 12947, 2303, 9362, 307, 3736, 472, 295, 264, 881, 5124, 50641], "temperature": 0, "avg_logprob": -0.04959094797381918, "compression_ratio": 1.6950354609929077, "no_speech_prob": 1.592078357169624e-12}, {"id": 10, "seek": 5674, "start": 62.260000000000005, "end": 68.18, "text": " ones out there. Well, this is where CLIProxy API comes in. It's an open-source project that basically", "tokens": [50641, 2306, 484, 456, 13, 1042, 11, 341, 307, 689, 12855, 9139, 340, 12876, 9362, 1487, 294, 13, 467, 311, 364, 1269, 12, 41676, 1716, 300, 1936, 50937], "temperature": 0, "avg_logprob": -0.04959094797381918, "compression_ratio": 1.6950354609929077, "no_speech_prob": 1.592078357169624e-12}, {"id": 11, "seek": 5674, "start": 68.18, "end": 72.62, "text": " takes your Antigravity and wraps it up as a local API server that's compatible with the OpenAI,", "tokens": [50937, 2516, 428, 5130, 328, 13404, 507, 293, 25831, 309, 493, 382, 257, 2654, 9362, 7154, 300, 311, 18218, 365, 264, 7238, 48698, 11, 51159], "temperature": 0, "avg_logprob": -0.04959094797381918, "compression_ratio": 1.6950354609929077, "no_speech_prob": 1.592078357169624e-12}, {"id": 12, "seek": 5674, "start": 73.04, "end": 78.64, "text": " Gemini, and Claude API formats. So, any tool that can talk to any of these APIs can now use the", "tokens": [51180, 22894, 3812, 11, 293, 12947, 2303, 9362, 25879, 13, 407, 11, 604, 2290, 300, 393, 751, 281, 604, 295, 613, 21445, 393, 586, 764, 264, 51460], "temperature": 0, "avg_logprob": -0.04959094797381918, "compression_ratio": 1.6950354609929077, "no_speech_prob": 1.592078357169624e-12}, {"id": 13, "seek": 5674, "start": 78.64, "end": 82.9, "text": " Antigravity models. And it doesn't stop at Antigravity either. It can also wrap your", "tokens": [51460, 5130, 328, 13404, 507, 5245, 13, 400, 309, 1177, 380, 1590, 412, 5130, 328, 13404, 507, 2139, 13, 467, 393, 611, 7019, 428, 51673], "temperature": 0, "avg_logprob": -0.04959094797381918, "compression_ratio": 1.6950354609929077, "no_speech_prob": 1.592078357169624e-12}, {"id": 14, "seek": 8290, "start": 82.9, "end": 89.12, "text": " ChatGPT Codex account, your Claude Code subscription, Grok, Kimi, Gemini, CLI, and more,", "tokens": [50365, 27503, 38, 47, 51, 15549, 87, 2696, 11, 428, 12947, 2303, 15549, 17231, 11, 12981, 74, 11, 5652, 72, 11, 22894, 3812, 11, 12855, 40, 11, 293, 544, 11, 50676], "temperature": 0, "avg_logprob": -0.07601034902308108, "compression_ratio": 1.5555555555555556, "no_speech_prob": 1.3045127044558624e-12}, {"id": 15, "seek": 8290, "start": 89.30000000000001, "end": 93.84, "text": " all behind one single endpoint with multi-account load balancing. But in this video, we'll mainly", "tokens": [50685, 439, 2261, 472, 2167, 35795, 365, 4825, 12, 8476, 792, 3677, 22495, 13, 583, 294, 341, 960, 11, 321, 603, 8704, 50912], "temperature": 0, "avg_logprob": -0.07601034902308108, "compression_ratio": 1.5555555555555556, "no_speech_prob": 1.3045127044558624e-12}, {"id": 16, "seek": 8290, "start": 93.84, "end": 98.60000000000001, "text": " focus on the Antigravity part because that's the free lunch here. So, let's get right into it and", "tokens": [50912, 1879, 322, 264, 5130, 328, 13404, 507, 644, 570, 300, 311, 264, 1737, 6349, 510, 13, 407, 11, 718, 311, 483, 558, 666, 309, 293, 51150], "temperature": 0, "avg_logprob": -0.07601034902308108, "compression_ratio": 1.5555555555555556, "no_speech_prob": 1.3045127044558624e-12}, {"id": 17, "seek": 8290, "start": 98.60000000000001, "end": 103.80000000000001, "text": " set this thing up. First, we need to install it. If you're on a Mac, it's super simple. Just open", "tokens": [51150, 992, 341, 551, 493, 13, 2386, 11, 321, 643, 281, 3625, 309, 13, 759, 291, 434, 322, 257, 5707, 11, 309, 311, 1687, 2199, 13, 1449, 1269, 51410], "temperature": 0, "avg_logprob": -0.07601034902308108, "compression_ratio": 1.5555555555555556, "no_speech_prob": 1.3045127044558624e-12}, {"id": 18, "seek": 8290, "start": 103.80000000000001, "end": 110.18, "text": " your terminal and run brew install CLIProxy API. Once that's done, you can run brew services,", "tokens": [51410, 428, 14709, 293, 1190, 34619, 3625, 12855, 9139, 340, 12876, 9362, 13, 3443, 300, 311, 1096, 11, 291, 393, 1190, 34619, 3328, 11, 51729], "temperature": 0, "avg_logprob": -0.07601034902308108, "compression_ratio": 1.5555555555555556, "no_speech_prob": 1.3045127044558624e-12}, {"id": 19, "seek": 11018, "start": 110.18, "end": 114.9, "text": " start CLIProxy API, and it'll keep running in the background as a service.", "tokens": [50365, 722, 12855, 9139, 340, 12876, 9362, 11, 293, 309, 603, 1066, 2614, 294, 264, 3678, 382, 257, 2643, 13, 50601], "temperature": 0, "avg_logprob": -0.06467702984809875, "compression_ratio": 1.5892255892255893, "no_speech_prob": 1.7757998847442447e-12}, {"id": 20, "seek": 11018, "start": 114.9, "end": 120.30000000000001, "text": " If you're on Linux, they have a one-line installer script. You just copy the curl command from their", "tokens": [50601, 759, 291, 434, 322, 18734, 11, 436, 362, 257, 472, 12, 1889, 46620, 5755, 13, 509, 445, 5055, 264, 22591, 5622, 490, 641, 50871], "temperature": 0, "avg_logprob": -0.06467702984809875, "compression_ratio": 1.5892255892255893, "no_speech_prob": 1.7757998847442447e-12}, {"id": 21, "seek": 11018, "start": 120.30000000000001, "end": 126.46000000000001, "text": " docs, which are linked below, and pipe it into Bash. It downloads the binary and sets everything up for", "tokens": [50871, 45623, 11, 597, 366, 9408, 2507, 11, 293, 11240, 309, 666, 43068, 13, 467, 36553, 264, 17434, 293, 6352, 1203, 493, 337, 51179], "temperature": 0, "avg_logprob": -0.06467702984809875, "compression_ratio": 1.5892255892255893, "no_speech_prob": 1.7757998847442447e-12}, {"id": 22, "seek": 11018, "start": 126.46000000000001, "end": 132.88, "text": " you. If you're on Arch, it's also on the AUR, so you can just install it with Ye. And if you're on", "tokens": [51179, 291, 13, 759, 291, 434, 322, 10984, 11, 309, 311, 611, 322, 264, 7171, 49, 11, 370, 291, 393, 445, 3625, 309, 365, 835, 13, 400, 498, 291, 434, 322, 51500], "temperature": 0, "avg_logprob": -0.06467702984809875, "compression_ratio": 1.5892255892255893, "no_speech_prob": 1.7757998847442447e-12}, {"id": 23, "seek": 11018, "start": 132.88, "end": 137.66, "text": " Windows, you can grab the latest release from their GitHub repo, extract it, and run the EXE.", "tokens": [51500, 8591, 11, 291, 393, 4444, 264, 6792, 4374, 490, 641, 23331, 49040, 11, 8947, 309, 11, 293, 1190, 264, 16385, 36, 13, 51739], "temperature": 0, "avg_logprob": -0.06467702984809875, "compression_ratio": 1.5892255892255893, "no_speech_prob": 1.7757998847442447e-12}, {"id": 24, "seek": 13766, "start": 137.66, "end": 143.1, "text": " They also have a desktop GUI app called Easy CLI. If you don't want to touch the terminal at all,", "tokens": [50365, 814, 611, 362, 257, 14502, 17917, 40, 724, 1219, 16002, 12855, 40, 13, 759, 291, 500, 380, 528, 281, 2557, 264, 14709, 412, 439, 11, 50637], "temperature": 0, "avg_logprob": -0.07487417177389596, "compression_ratio": 1.5933333333333333, "no_speech_prob": 1.399325425498199e-12}, {"id": 25, "seek": 13766, "start": 143.26, "end": 148.1, "text": " there's a Docker image as well if you want to run it on a server. So, basically, every platform is", "tokens": [50645, 456, 311, 257, 33772, 3256, 382, 731, 498, 291, 528, 281, 1190, 309, 322, 257, 7154, 13, 407, 11, 1936, 11, 633, 3663, 307, 50887], "temperature": 0, "avg_logprob": -0.07487417177389596, "compression_ratio": 1.5933333333333333, "no_speech_prob": 1.399325425498199e-12}, {"id": 26, "seek": 13766, "start": 148.1, "end": 151.74, "text": " covered, which is pretty good for sure. Once it's installed, there's a config file called", "tokens": [50887, 5343, 11, 597, 307, 1238, 665, 337, 988, 13, 3443, 309, 311, 8899, 11, 456, 311, 257, 6662, 3991, 1219, 51069], "temperature": 0, "avg_logprob": -0.07487417177389596, "compression_ratio": 1.5933333333333333, "no_speech_prob": 1.399325425498199e-12}, {"id": 27, "seek": 13766, "start": 151.74, "end": 158.44, "text": " config.yaml on Mac and Linux. It generally lives in the .clyproxy API folder in your home directory", "tokens": [51069, 6662, 13, 88, 335, 75, 322, 5707, 293, 18734, 13, 467, 5101, 2909, 294, 264, 2411, 66, 356, 4318, 12876, 9362, 10820, 294, 428, 1280, 21120, 51404], "temperature": 0, "avg_logprob": -0.07487417177389596, "compression_ratio": 1.5933333333333333, "no_speech_prob": 1.399325425498199e-12}, {"id": 28, "seek": 13766, "start": 158.44, "end": 163.14, "text": " or in the Homebrew, etc. folder if you installed it via brew. The defaults are mostly fine.", "tokens": [51404, 420, 294, 264, 8719, 65, 2236, 11, 5183, 13, 10820, 498, 291, 8899, 309, 5766, 34619, 13, 440, 7576, 82, 366, 5240, 2489, 13, 51639], "temperature": 0, "avg_logprob": -0.07487417177389596, "compression_ratio": 1.5933333333333333, "no_speech_prob": 1.399325425498199e-12}, {"id": 29, "seek": 16314, "start": 163.14, "end": 169.67999999999998, "text": " The server runs on port 8317. The one thing you should do is look at the API key section in the", "tokens": [50365, 440, 7154, 6676, 322, 2436, 30997, 7773, 13, 440, 472, 551, 291, 820, 360, 307, 574, 412, 264, 9362, 2141, 3541, 294, 264, 50692], "temperature": 0, "avg_logprob": -0.05735346353971041, "compression_ratio": 1.6321070234113713, "no_speech_prob": 1.4269291043894627e-12}, {"id": 30, "seek": 16314, "start": 169.67999999999998, "end": 174.2, "text": " config and set your own key there. This is the key that your clients will use to talk to the proxy.", "tokens": [50692, 6662, 293, 992, 428, 1065, 2141, 456, 13, 639, 307, 264, 2141, 300, 428, 6982, 486, 764, 281, 751, 281, 264, 29690, 13, 50918], "temperature": 0, "avg_logprob": -0.05735346353971041, "compression_ratio": 1.6321070234113713, "no_speech_prob": 1.4269291043894627e-12}, {"id": 31, "seek": 16314, "start": 174.57999999999998, "end": 179.04, "text": " You can set it to anything, like sk-my-key or whatever you want. If you're only running it", "tokens": [50937, 509, 393, 992, 309, 281, 1340, 11, 411, 1110, 12, 2226, 12, 4119, 420, 2035, 291, 528, 13, 759, 291, 434, 787, 2614, 309, 51160], "temperature": 0, "avg_logprob": -0.05735346353971041, "compression_ratio": 1.6321070234113713, "no_speech_prob": 1.4269291043894627e-12}, {"id": 32, "seek": 16314, "start": 179.04, "end": 182.94, "text": " locally, this doesn't matter that much. But if you ever expose this on a server, you definitely want", "tokens": [51160, 16143, 11, 341, 1177, 380, 1871, 300, 709, 13, 583, 498, 291, 1562, 19219, 341, 322, 257, 7154, 11, 291, 2138, 528, 51355], "temperature": 0, "avg_logprob": -0.05735346353971041, "compression_ratio": 1.6321070234113713, "no_speech_prob": 1.4269291043894627e-12}, {"id": 33, "seek": 16314, "start": 182.94, "end": 189.04, "text": " a proper key here. Now, let's connect antigravity. This is the main part, and it's honestly just one", "tokens": [51355, 257, 2296, 2141, 510, 13, 823, 11, 718, 311, 1745, 44417, 13404, 507, 13, 639, 307, 264, 2135, 644, 11, 293, 309, 311, 6095, 445, 472, 51660], "temperature": 0, "avg_logprob": -0.05735346353971041, "compression_ratio": 1.6321070234113713, "no_speech_prob": 1.4269291043894627e-12}, {"id": 34, "seek": 18904, "start": 189.04, "end": 194.48, "text": " command. In your terminal, run the .clyproxy API binary with the .clyproxy API", "tokens": [50365, 5622, 13, 682, 428, 14709, 11, 1190, 264, 2411, 66, 356, 4318, 12876, 9362, 17434, 365, 264, 2411, 66, 356, 4318, 12876, 9362, 50637], "temperature": 0, "avg_logprob": -0.13452772910778338, "compression_ratio": 1.5714285714285714, "no_speech_prob": 1.804041182933147e-12}, {"id": 35, "seek": 18904, "start": 194.48, "end": 201.04, "text": " flag. When you run it, it'll open a browser. You just log in, and that's it. The OAuth callback", "tokens": [50637, 7166, 13, 1133, 291, 1190, 309, 11, 309, 603, 1269, 257, 11185, 13, 509, 445, 3565, 294, 11, 293, 300, 311, 309, 13, 440, 48424, 2910, 818, 3207, 50965], "temperature": 0, "avg_logprob": -0.13452772910778338, "compression_ratio": 1.5714285714285714, "no_speech_prob": 1.804041182933147e-12}, {"id": 36, "seek": 18904, "start": 201.04, "end": 206.54, "text": " comes back on a local port. The token gets saved into your auth directory, and it will automatically", "tokens": [50965, 1487, 646, 322, 257, 2654, 2436, 13, 440, 14862, 2170, 6624, 666, 428, 6979, 21120, 11, 293, 309, 486, 6772, 51240], "temperature": 0, "avg_logprob": -0.13452772910778338, "compression_ratio": 1.5714285714285714, "no_speech_prob": 1.804041182933147e-12}, {"id": 37, "seek": 18904, "start": 206.54, "end": 212.2, "text": " refresh it in the background from then on. Okay, so now the proxy is running. With our antigravity", "tokens": [51240, 15134, 309, 294, 264, 3678, 490, 550, 322, 13, 1033, 11, 370, 586, 264, 29690, 307, 2614, 13, 2022, 527, 44417, 13404, 507, 51523], "temperature": 0, "avg_logprob": -0.13452772910778338, "compression_ratio": 1.5714285714285714, "no_speech_prob": 1.804041182933147e-12}, {"id": 38, "seek": 21220, "start": 212.2, "end": 218.11999999999998, "text": " connected, let's see what models we actually get. If you hit the model's endpoint on localhost", "tokens": [50365, 4582, 11, 718, 311, 536, 437, 5245, 321, 767, 483, 13, 759, 291, 2045, 264, 2316, 311, 35795, 322, 2654, 6037, 50661], "temperature": 0, "avg_logprob": -0.10007739285810278, "compression_ratio": 1.5165289256198347, "no_speech_prob": 1.4607474301334133e-12}, {"id": 39, "seek": 21220, "start": 218.11999999999998, "end": 223.76, "text": " port 8317, you'll see the whole list. As I'm making this video, the antigravity provider", "tokens": [50661, 2436, 30997, 7773, 11, 291, 603, 536, 264, 1379, 1329, 13, 1018, 286, 478, 1455, 341, 960, 11, 264, 44417, 13404, 507, 12398, 50943], "temperature": 0, "avg_logprob": -0.10007739285810278, "compression_ratio": 1.5165289256198347, "no_speech_prob": 1.4607474301334133e-12}, {"id": 40, "seek": 21220, "start": 223.76, "end": 231.29999999999998, "text": " gives you Claude Opus 4.6, thinking Claude Sané 4.6, Gemini 3.1, Pro in high and low reasoning", "tokens": [50943, 2709, 291, 12947, 2303, 12011, 301, 1017, 13, 21, 11, 1953, 12947, 2303, 5271, 526, 1017, 13, 21, 11, 22894, 3812, 805, 13, 16, 11, 1705, 294, 1090, 293, 2295, 21577, 51320], "temperature": 0, "avg_logprob": -0.10007739285810278, "compression_ratio": 1.5165289256198347, "no_speech_prob": 1.4607474301334133e-12}, {"id": 41, "seek": 21220, "start": 231.29999999999998, "end": 236.88, "text": " variants, Gemini 3.5 Flash in a few effort levels, Gemini 3 Flash, a flash image model,", "tokens": [51320, 21669, 11, 22894, 3812, 805, 13, 20, 20232, 294, 257, 1326, 4630, 4358, 11, 22894, 3812, 805, 20232, 11, 257, 7319, 3256, 2316, 11, 51599], "temperature": 0, "avg_logprob": -0.10007739285810278, "compression_ratio": 1.5165289256198347, "no_speech_prob": 1.4607474301334133e-12}, {"id": 42, "seek": 23688, "start": 236.88, "end": 242.24, "text": " and even GPT-OSS 120B. That's three different Frontier Labs models, which is just amazing.", "tokens": [50365, 293, 754, 26039, 51, 12, 35683, 10411, 33, 13, 663, 311, 1045, 819, 17348, 811, 40047, 5245, 11, 597, 307, 445, 2243, 13, 50633], "temperature": 0, "avg_logprob": -0.08380937161652938, "compression_ratio": 1.528052805280528, "no_speech_prob": 1.5016129615783025e-12}, {"id": 43, "seek": 23688, "start": 242.57999999999998, "end": 247.76, "text": " Now, let's actually use these in some harnesses. And this is where the compatible API formats", "tokens": [50650, 823, 11, 718, 311, 767, 764, 613, 294, 512, 19700, 279, 13, 400, 341, 307, 689, 264, 18218, 9362, 25879, 50909], "temperature": 0, "avg_logprob": -0.08380937161652938, "compression_ratio": 1.528052805280528, "no_speech_prob": 1.5016129615783025e-12}, {"id": 44, "seek": 23688, "start": 247.76, "end": 252.5, "text": " matter, because every tool speaks one of these protocols. Let's start with Claude Code,", "tokens": [50909, 1871, 11, 570, 633, 2290, 10789, 472, 295, 613, 20618, 13, 961, 311, 722, 365, 12947, 2303, 15549, 11, 51146], "temperature": 0, "avg_logprob": -0.08380937161652938, "compression_ratio": 1.528052805280528, "no_speech_prob": 1.5016129615783025e-12}, {"id": 45, "seek": 23688, "start": 253.06, "end": 258.64, "text": " because using Opus 4.6 in Claude Code without paying Anthropic anything is obviously the headline", "tokens": [51174, 570, 1228, 12011, 301, 1017, 13, 21, 294, 12947, 2303, 15549, 1553, 6229, 12727, 39173, 1340, 307, 2745, 264, 28380, 51453], "temperature": 0, "avg_logprob": -0.08380937161652938, "compression_ratio": 1.528052805280528, "no_speech_prob": 1.5016129615783025e-12}, {"id": 46, "seek": 23688, "start": 258.64, "end": 264.15999999999997, "text": " here. Ever since Claude Code basically started rug-pulling people on limits, everyone's been", "tokens": [51453, 510, 13, 12123, 1670, 12947, 2303, 15549, 1936, 1409, 18329, 12, 79, 858, 278, 561, 322, 10406, 11, 1518, 311, 668, 51729], "temperature": 0, "avg_logprob": -0.08380937161652938, "compression_ratio": 1.528052805280528, "no_speech_prob": 1.5016129615783025e-12}, {"id": 47, "seek": 26416, "start": 264.16, "end": 268.52000000000004, "text": " looking for ways around it. So for this, you just need to set a few environment variables.", "tokens": [50365, 1237, 337, 2098, 926, 309, 13, 407, 337, 341, 11, 291, 445, 643, 281, 992, 257, 1326, 2823, 9102, 13, 50583], "temperature": 0, "avg_logprob": -0.08160921127077132, "compression_ratio": 1.7703703703703704, "no_speech_prob": 1.861317306880994e-12}, {"id": 48, "seek": 26416, "start": 269.16, "end": 275.98, "text": " First, set the Anthropic-based URL variable to your local proxy, which is HTTP localhost port 8317.", "tokens": [50615, 2386, 11, 992, 264, 12727, 39173, 12, 6032, 12905, 7006, 281, 428, 2654, 29690, 11, 597, 307, 33283, 2654, 6037, 2436, 30997, 7773, 13, 50956], "temperature": 0, "avg_logprob": -0.08160921127077132, "compression_ratio": 1.7703703703703704, "no_speech_prob": 1.861317306880994e-12}, {"id": 49, "seek": 26416, "start": 276.54, "end": 282.22, "text": " Then set the Anthropic auth token variable to the API key you put in your config, and then you map", "tokens": [50984, 1396, 992, 264, 12727, 39173, 6979, 14862, 7006, 281, 264, 9362, 2141, 291, 829, 294, 428, 6662, 11, 293, 550, 291, 4471, 51268], "temperature": 0, "avg_logprob": -0.08160921127077132, "compression_ratio": 1.7703703703703704, "no_speech_prob": 1.861317306880994e-12}, {"id": 50, "seek": 26416, "start": 282.22, "end": 287.34000000000003, "text": " the models. There is an environment variable for the default Opus model, one for the default Sonnet", "tokens": [51268, 264, 5245, 13, 821, 307, 364, 2823, 7006, 337, 264, 7576, 12011, 301, 2316, 11, 472, 337, 264, 7576, 5185, 7129, 51524], "temperature": 0, "avg_logprob": -0.08160921127077132, "compression_ratio": 1.7703703703703704, "no_speech_prob": 1.861317306880994e-12}, {"id": 51, "seek": 26416, "start": 287.34000000000003, "end": 292.34000000000003, "text": " model, and one for the default Haiku model. You can point the Opus 1 at Claude Opus 4.6,", "tokens": [51524, 2316, 11, 293, 472, 337, 264, 7576, 4064, 24320, 2316, 13, 509, 393, 935, 264, 12011, 301, 502, 412, 12947, 2303, 12011, 301, 1017, 13, 21, 11, 51774], "temperature": 0, "avg_logprob": -0.08160921127077132, "compression_ratio": 1.7703703703703704, "no_speech_prob": 1.861317306880994e-12}, {"id": 52, "seek": 29234, "start": 292.34, "end": 297.91999999999996, "text": " thinking the Sonnet one at Claude Sonnet 4.6. And for the Haiku one, you can actually point it at", "tokens": [50365, 1953, 264, 5185, 7129, 472, 412, 12947, 2303, 5185, 7129, 1017, 13, 21, 13, 400, 337, 264, 4064, 24320, 472, 11, 291, 393, 767, 935, 309, 412, 50644], "temperature": 0, "avg_logprob": -0.07294495705446583, "compression_ratio": 1.6914285714285715, "no_speech_prob": 1.6947494839783528e-12}, {"id": 53, "seek": 29234, "start": 297.91999999999996, "end": 302.26, "text": " something like Gemini 3.5 Flash, which is a fun little trick, because the proxy translates between", "tokens": [50644, 746, 411, 22894, 3812, 805, 13, 20, 20232, 11, 597, 307, 257, 1019, 707, 4282, 11, 570, 264, 29690, 28468, 1296, 50861], "temperature": 0, "avg_logprob": -0.07294495705446583, "compression_ratio": 1.6914285714285715, "no_speech_prob": 1.6947494839783528e-12}, {"id": 54, "seek": 29234, "start": 302.26, "end": 306.65999999999997, "text": " the Claude format and the other providers on the fly. You can put these exports in your shell profile,", "tokens": [50861, 264, 12947, 2303, 7877, 293, 264, 661, 11330, 322, 264, 3603, 13, 509, 393, 829, 613, 31428, 294, 428, 8720, 7964, 11, 51081], "temperature": 0, "avg_logprob": -0.07294495705446583, "compression_ratio": 1.6914285714285715, "no_speech_prob": 1.6947494839783528e-12}, {"id": 55, "seek": 29234, "start": 306.97999999999996, "end": 311.4, "text": " or create a small script that launches Claude Code with them. Now, when you start Claude Code,", "tokens": [51097, 420, 1884, 257, 1359, 5755, 300, 31841, 12947, 2303, 15549, 365, 552, 13, 823, 11, 562, 291, 722, 12947, 2303, 15549, 11, 51318], "temperature": 0, "avg_logprob": -0.07294495705446583, "compression_ratio": 1.6914285714285715, "no_speech_prob": 1.6947494839783528e-12}, {"id": 56, "seek": 29234, "start": 311.47999999999996, "end": 316.02, "text": " it's talking to your local proxy, which is talking to Antigravity, and you're running Opus 4.6 on", "tokens": [51322, 309, 311, 1417, 281, 428, 2654, 29690, 11, 597, 307, 1417, 281, 5130, 328, 13404, 507, 11, 293, 291, 434, 2614, 12011, 301, 1017, 13, 21, 322, 51549], "temperature": 0, "avg_logprob": -0.07294495705446583, "compression_ratio": 1.6914285714285715, "no_speech_prob": 1.6947494839783528e-12}, {"id": 57, "seek": 29234, "start": 316.02, "end": 321.52, "text": " Google's Dime. Next, OpenCode. This one is also super simple. You just open the OpenCode.jsonconfig", "tokens": [51549, 3329, 311, 413, 1312, 13, 3087, 11, 7238, 34, 1429, 13, 639, 472, 307, 611, 1687, 2199, 13, 509, 445, 1269, 264, 7238, 34, 1429, 13, 73, 3015, 1671, 20646, 51824], "temperature": 0, "avg_logprob": -0.07294495705446583, "compression_ratio": 1.6914285714285715, "no_speech_prob": 1.6947494839783528e-12}, {"id": 58, "seek": 32152, "start": 321.52, "end": 325.7, "text": " file in your .config folder, and under the Provider section, you add the base URL pointing", "tokens": [50365, 3991, 294, 428, 2411, 1671, 20646, 10820, 11, 293, 833, 264, 15685, 1438, 3541, 11, 291, 909, 264, 3096, 12905, 12166, 50574], "temperature": 0, "avg_logprob": -0.06558738794541896, "compression_ratio": 1.6631205673758864, "no_speech_prob": 1.591832351696687e-12}, {"id": 59, "seek": 32152, "start": 325.7, "end": 331.53999999999996, "text": " to localhost port 8317 slash v1, along with your API key. Then you can just pick any of the", "tokens": [50574, 281, 2654, 6037, 2436, 30997, 7773, 17330, 371, 16, 11, 2051, 365, 428, 9362, 2141, 13, 1396, 291, 393, 445, 1888, 604, 295, 264, 50866], "temperature": 0, "avg_logprob": -0.06558738794541896, "compression_ratio": 1.6631205673758864, "no_speech_prob": 1.591832351696687e-12}, {"id": 60, "seek": 32152, "start": 331.53999999999996, "end": 336.9, "text": " Antigravity models from the model list inside OpenCode. Gemini 3.1 Procode in OpenCode works", "tokens": [50866, 5130, 328, 13404, 507, 5245, 490, 264, 2316, 1329, 1854, 7238, 34, 1429, 13, 22894, 3812, 805, 13, 16, 1705, 22332, 294, 7238, 34, 1429, 1985, 51134], "temperature": 0, "avg_logprob": -0.06558738794541896, "compression_ratio": 1.6631205673758864, "no_speech_prob": 1.591832351696687e-12}, {"id": 61, "seek": 32152, "start": 336.9, "end": 343.56, "text": " really well, to be honest. Then there's the Codex CLI. For that one, you edit the config.2ml file", "tokens": [51134, 534, 731, 11, 281, 312, 3245, 13, 1396, 456, 311, 264, 15549, 87, 12855, 40, 13, 1171, 300, 472, 11, 291, 8129, 264, 6662, 13, 17, 15480, 3991, 51467], "temperature": 0, "avg_logprob": -0.06558738794541896, "compression_ratio": 1.6631205673758864, "no_speech_prob": 1.591832351696687e-12}, {"id": 62, "seek": 32152, "start": 343.56, "end": 349.59999999999997, "text": " in your .codex folder, and add a custom model provider block with the base URL set to localhost", "tokens": [51467, 294, 428, 2411, 22332, 87, 10820, 11, 293, 909, 257, 2375, 2316, 12398, 3461, 365, 264, 3096, 12905, 992, 281, 2654, 6037, 51769], "temperature": 0, "avg_logprob": -0.06558738794541896, "compression_ratio": 1.6631205673758864, "no_speech_prob": 1.591832351696687e-12}, {"id": 63, "seek": 34960, "start": 349.6, "end": 356.20000000000005, "text": " port 8317 slash v1, and the wire API set to responses. Then set the model to whatever", "tokens": [50365, 2436, 30997, 7773, 17330, 371, 16, 11, 293, 264, 6234, 9362, 992, 281, 13019, 13, 1396, 992, 264, 2316, 281, 2035, 50695], "temperature": 0, "avg_logprob": -0.08114847072885056, "compression_ratio": 1.6816479400749065, "no_speech_prob": 1.5191769283523504e-12}, {"id": 64, "seek": 34960, "start": 356.20000000000005, "end": 359.90000000000003, "text": " you want to use. The docs have the exact snippet for this, and I'll link them below.", "tokens": [50695, 291, 528, 281, 764, 13, 440, 45623, 362, 264, 1900, 35623, 302, 337, 341, 11, 293, 286, 603, 2113, 552, 2507, 13, 50880], "temperature": 0, "avg_logprob": -0.08114847072885056, "compression_ratio": 1.6816479400749065, "no_speech_prob": 1.5191769283523504e-12}, {"id": 65, "seek": 34960, "start": 359.90000000000003, "end": 364.98, "text": " And for tools like Klein and Rucode, you just select the OpenAI-compatible provider in their", "tokens": [50880, 400, 337, 3873, 411, 33327, 293, 497, 1311, 1429, 11, 291, 445, 3048, 264, 7238, 48698, 12, 1112, 11584, 964, 12398, 294, 641, 51134], "temperature": 0, "avg_logprob": -0.08114847072885056, "compression_ratio": 1.6816479400749065, "no_speech_prob": 1.5191769283523504e-12}, {"id": 66, "seek": 34960, "start": 364.98, "end": 372.54, "text": " settings, put in localhost port 8317 slash v1 as the base URL, paste your key, and select", "tokens": [51134, 6257, 11, 829, 294, 2654, 6037, 2436, 30997, 7773, 17330, 371, 16, 382, 264, 3096, 12905, 11, 9163, 428, 2141, 11, 293, 3048, 51512], "temperature": 0, "avg_logprob": -0.08114847072885056, "compression_ratio": 1.6816479400749065, "no_speech_prob": 1.5191769283523504e-12}, {"id": 67, "seek": 34960, "start": 372.54, "end": 377.48, "text": " the model. The same thing works for basically anything that supports a custom OpenAI-compatible", "tokens": [51512, 264, 2316, 13, 440, 912, 551, 1985, 337, 1936, 1340, 300, 9346, 257, 2375, 7238, 48698, 12, 1112, 11584, 964, 51759], "temperature": 0, "avg_logprob": -0.08114847072885056, "compression_ratio": 1.6816479400749065, "no_speech_prob": 1.5191769283523504e-12}, {"id": 68, "seek": 37748, "start": 377.48, "end": 382.1, "text": " endpoint, which is literally every AI tool at this point. You can even hit it from your", "tokens": [50365, 35795, 11, 597, 307, 3736, 633, 7318, 2290, 412, 341, 935, 13, 509, 393, 754, 2045, 309, 490, 428, 50596], "temperature": 0, "avg_logprob": -0.04947252343170834, "compression_ratio": 1.6197604790419162, "no_speech_prob": 1.2112085423163221e-12}, {"id": 69, "seek": 37748, "start": 382.1, "end": 388.52000000000004, "text": " own code with the normal OpenAI or Anthropic SDKs by just changing the base URL. So let me", "tokens": [50596, 1065, 3089, 365, 264, 2710, 7238, 48698, 420, 12727, 39173, 37135, 82, 538, 445, 4473, 264, 3096, 12905, 13, 407, 718, 385, 50917], "temperature": 0, "avg_logprob": -0.04947252343170834, "compression_ratio": 1.6197604790419162, "no_speech_prob": 1.2112085423163221e-12}, {"id": 70, "seek": 37748, "start": 388.52000000000004, "end": 393.32, "text": " show you this quickly. I have the proxy running here, and I've set up Claude Code with the", "tokens": [50917, 855, 291, 341, 2661, 13, 286, 362, 264, 29690, 2614, 510, 11, 293, 286, 600, 992, 493, 12947, 2303, 15549, 365, 264, 51157], "temperature": 0, "avg_logprob": -0.04947252343170834, "compression_ratio": 1.6197604790419162, "no_speech_prob": 1.2112085423163221e-12}, {"id": 71, "seek": 37748, "start": 393.32, "end": 397.32, "text": " environment variables. Let's ask it to build a small app. I'll type something like create", "tokens": [51157, 2823, 9102, 13, 961, 311, 1029, 309, 281, 1322, 257, 1359, 724, 13, 286, 603, 2010, 746, 411, 1884, 51357], "temperature": 0, "avg_logprob": -0.04947252343170834, "compression_ratio": 1.6197604790419162, "no_speech_prob": 1.2112085423163221e-12}, {"id": 72, "seek": 37748, "start": 397.32, "end": 402.02000000000004, "text": " a simple expense tracker web app with charts. Let's send it and see. And you can see, it's", "tokens": [51357, 257, 2199, 18406, 37516, 3670, 724, 365, 17767, 13, 961, 311, 2845, 309, 293, 536, 13, 400, 291, 393, 536, 11, 309, 311, 51592], "temperature": 0, "avg_logprob": -0.04947252343170834, "compression_ratio": 1.6197604790419162, "no_speech_prob": 1.2112085423163221e-12}, {"id": 73, "seek": 37748, "start": 402.02000000000004, "end": 405.94, "text": " working through the task like normal. It's creating the files, running commands, doing its", "tokens": [51592, 1364, 807, 264, 5633, 411, 2710, 13, 467, 311, 4084, 264, 7098, 11, 2614, 16901, 11, 884, 1080, 51788], "temperature": 0, "avg_logprob": -0.04947252343170834, "compression_ratio": 1.6197604790419162, "no_speech_prob": 1.2112085423163221e-12}, {"id": 74, "seek": 40594, "start": 405.94, "end": 411.02, "text": " thing. The responses are streaming in nicely, tool calls work, and if I check the proxy logs,", "tokens": [50365, 551, 13, 440, 13019, 366, 11791, 294, 9594, 11, 2290, 5498, 589, 11, 293, 498, 286, 1520, 264, 29690, 20820, 11, 50619], "temperature": 0, "avg_logprob": -0.0661209137713323, "compression_ratio": 1.5506756756756757, "no_speech_prob": 1.3617874189408852e-12}, {"id": 75, "seek": 40594, "start": 411.02, "end": 415.56, "text": " you can see the requests going out to the anti-gravity backend. From Claude Code's perspective,", "tokens": [50619, 291, 393, 536, 264, 12475, 516, 484, 281, 264, 6061, 12, 36418, 507, 38087, 13, 3358, 12947, 2303, 15549, 311, 4585, 11, 50846], "temperature": 0, "avg_logprob": -0.0661209137713323, "compression_ratio": 1.5506756756756757, "no_speech_prob": 1.3617874189408852e-12}, {"id": 76, "seek": 40594, "start": 415.76, "end": 419.58, "text": " nothing has changed at all. It just thinks it's talking to Anthropic, and the quality is", "tokens": [50856, 1825, 575, 3105, 412, 439, 13, 467, 445, 7309, 309, 311, 1417, 281, 12727, 39173, 11, 293, 264, 3125, 307, 51047], "temperature": 0, "avg_logprob": -0.0661209137713323, "compression_ratio": 1.5506756756756757, "no_speech_prob": 1.3617874189408852e-12}, {"id": 77, "seek": 40594, "start": 419.58, "end": 424.34, "text": " exactly what you'd expect, because this is the actual Opus 4.6 thinking model, not some", "tokens": [51047, 2293, 437, 291, 1116, 2066, 11, 570, 341, 307, 264, 3539, 12011, 301, 1017, 13, 21, 1953, 2316, 11, 406, 512, 51285], "temperature": 0, "avg_logprob": -0.0661209137713323, "compression_ratio": 1.5506756756756757, "no_speech_prob": 1.3617874189408852e-12}, {"id": 78, "seek": 40594, "start": 424.34, "end": 430.86, "text": " quantized knockoff. If we wait a bit. And it's now done. The app works on the first try, and", "tokens": [51285, 4426, 1602, 6728, 4506, 13, 759, 321, 1699, 257, 857, 13, 400, 309, 311, 586, 1096, 13, 440, 724, 1985, 322, 264, 700, 853, 11, 293, 51611], "temperature": 0, "avg_logprob": -0.0661209137713323, "compression_ratio": 1.5506756756756757, "no_speech_prob": 1.3617874189408852e-12}, {"id": 79, "seek": 43086, "start": 430.86, "end": 435.6, "text": " this whole session cost me exactly zero dollars. So this is kind of great. Now a few things", "tokens": [50365, 341, 1379, 5481, 2063, 385, 2293, 4018, 3808, 13, 407, 341, 307, 733, 295, 869, 13, 823, 257, 1326, 721, 50602], "temperature": 0, "avg_logprob": -0.09337170082226134, "compression_ratio": 1.5555555555555556, "no_speech_prob": 1.3354493292455638e-12}, {"id": 80, "seek": 43086, "start": 435.6, "end": 439.94, "text": " you should know. The anti-gravity quotas are per five-hour window, and they reset over time.", "tokens": [50602, 291, 820, 458, 13, 440, 6061, 12, 36418, 507, 9641, 296, 366, 680, 1732, 12, 18048, 4910, 11, 293, 436, 14322, 670, 565, 13, 50819], "temperature": 0, "avg_logprob": -0.09337170082226134, "compression_ratio": 1.5555555555555556, "no_speech_prob": 1.3354493292455638e-12}, {"id": 81, "seek": 43086, "start": 440.32, "end": 444.04, "text": " Gemini models have pretty generous limits, while the Claude models have tighter ones,", "tokens": [50838, 22894, 3812, 5245, 362, 1238, 14537, 10406, 11, 1339, 264, 12947, 2303, 5245, 362, 30443, 2306, 11, 51024], "temperature": 0, "avg_logprob": -0.09337170082226134, "compression_ratio": 1.5555555555555556, "no_speech_prob": 1.3354493292455638e-12}, {"id": 82, "seek": 43086, "start": 444.16, "end": 448.1, "text": " which makes sense, because Google is paying Anthropic for those. There's also a web management", "tokens": [51030, 597, 1669, 2020, 11, 570, 3329, 307, 6229, 12727, 39173, 337, 729, 13, 821, 311, 611, 257, 3670, 4592, 51227], "temperature": 0, "avg_logprob": -0.09337170082226134, "compression_ratio": 1.5555555555555556, "no_speech_prob": 1.3354493292455638e-12}, {"id": 83, "seek": 43086, "start": 448.1, "end": 453.72, "text": " UI that comes with it, where you can see your accounts, usage, and manage keys from the browser.", "tokens": [51227, 15682, 300, 1487, 365, 309, 11, 689, 291, 393, 536, 428, 9402, 11, 14924, 11, 293, 3067, 9317, 490, 264, 11185, 13, 51508], "temperature": 0, "avg_logprob": -0.09337170082226134, "compression_ratio": 1.5555555555555556, "no_speech_prob": 1.3354493292455638e-12}, {"id": 84, "seek": 45372, "start": 453.72, "end": 458.44000000000005, "text": " And there's a bunch of community apps built around it, like menu bar apps that track your", "tokens": [50365, 400, 456, 311, 257, 3840, 295, 1768, 7733, 3094, 926, 309, 11, 411, 6510, 2159, 7733, 300, 2837, 428, 50601], "temperature": 0, "avg_logprob": -0.07539780934651692, "compression_ratio": 1.5909090909090908, "no_speech_prob": 1.4106375572850438e-12}, {"id": 85, "seek": 45372, "start": 458.44000000000005, "end": 463.64000000000004, "text": " quotas across all the accounts. The ecosystem around this project is surprisingly big. Overall,", "tokens": [50601, 9641, 296, 2108, 439, 264, 9402, 13, 440, 11311, 926, 341, 1716, 307, 17600, 955, 13, 18420, 11, 50861], "temperature": 0, "avg_logprob": -0.07539780934651692, "compression_ratio": 1.5909090909090908, "no_speech_prob": 1.4106375572850438e-12}, {"id": 86, "seek": 45372, "start": 463.98, "end": 470.18, "text": " this is one of the best setups you can run right now, if you ask me. You get Opus 4.6, Gemini 3.1 Pro,", "tokens": [50878, 341, 307, 472, 295, 264, 1151, 46832, 291, 393, 1190, 558, 586, 11, 498, 291, 1029, 385, 13, 509, 483, 12011, 301, 1017, 13, 21, 11, 22894, 3812, 805, 13, 16, 1705, 11, 51188], "temperature": 0, "avg_logprob": -0.07539780934651692, "compression_ratio": 1.5909090909090908, "no_speech_prob": 1.4106375572850438e-12}, {"id": 87, "seek": 45372, "start": 470.62, "end": 475.32000000000005, "text": " and Gemini 3.5 Flash in any harness you like. I've tried a lot of these proxy projects,", "tokens": [51210, 293, 22894, 3812, 805, 13, 20, 20232, 294, 604, 19700, 291, 411, 13, 286, 600, 3031, 257, 688, 295, 613, 29690, 4455, 11, 51445], "temperature": 0, "avg_logprob": -0.07539780934651692, "compression_ratio": 1.5909090909090908, "no_speech_prob": 1.4106375572850438e-12}, {"id": 88, "seek": 45372, "start": 475.62, "end": 478.74, "text": " and this one is easily the most polished and actively maintained of the bunch.", "tokens": [51460, 293, 341, 472, 307, 3612, 264, 881, 29079, 293, 13022, 17578, 295, 264, 3840, 13, 51616], "temperature": 0, "avg_logprob": -0.07539780934651692, "compression_ratio": 1.5909090909090908, "no_speech_prob": 1.4106375572850438e-12}, {"id": 89, "seek": 47874, "start": 478.74, "end": 483.7, "text": " This is a really good option for sure, especially for students and anyone who can't justify paying", "tokens": [50365, 639, 307, 257, 534, 665, 3614, 337, 988, 11, 2318, 337, 1731, 293, 2878, 567, 393, 380, 20833, 6229, 50613], "temperature": 0, "avg_logprob": -0.07709312438964844, "compression_ratio": 1.5640138408304498, "no_speech_prob": 1.8111013990601554e-12}, {"id": 90, "seek": 47874, "start": 483.7, "end": 489.48, "text": " $200 a month for a coding subscription. Overall, it's pretty cool. Anyway, let me know your thoughts", "tokens": [50613, 1848, 7629, 257, 1618, 337, 257, 17720, 17231, 13, 18420, 11, 309, 311, 1238, 1627, 13, 5684, 11, 718, 385, 458, 428, 4598, 50902], "temperature": 0, "avg_logprob": -0.07709312438964844, "compression_ratio": 1.5640138408304498, "no_speech_prob": 1.8111013990601554e-12}, {"id": 91, "seek": 47874, "start": 489.48, "end": 494.3, "text": " in the comments. If you liked this video, consider donating through the Super Thanks option, or becoming", "tokens": [50902, 294, 264, 3053, 13, 759, 291, 4501, 341, 960, 11, 1949, 36686, 807, 264, 4548, 2561, 3614, 11, 420, 5617, 51143], "temperature": 0, "avg_logprob": -0.07709312438964844, "compression_ratio": 1.5640138408304498, "no_speech_prob": 1.8111013990601554e-12}, {"id": 92, "seek": 47874, "start": 494.3, "end": 499.12, "text": " a member by clicking the Join button. Also, give this video a thumbs up and subscribe to my channel.", "tokens": [51143, 257, 4006, 538, 9697, 264, 19642, 2960, 13, 2743, 11, 976, 341, 960, 257, 8838, 493, 293, 3022, 281, 452, 2269, 13, 51384], "temperature": 0, "avg_logprob": -0.07709312438964844, "compression_ratio": 1.5640138408304498, "no_speech_prob": 1.8111013990601554e-12}, {"id": 93, "seek": 47874, "start": 499.12, "end": 501.58, "text": " I'll see you in the next one. Until then, bye.", "tokens": [51384, 286, 603, 536, 291, 294, 264, 958, 472, 13, 9088, 550, 11, 6543, 13, 51507], "temperature": 0, "avg_logprob": -0.07709312438964844, "compression_ratio": 1.5640138408304498, "no_speech_prob": 1.8111013990601554e-12}, {"id": 94, "seek": 50874, "start": 508.74, "end": 510.74, "text": " Bye.", "tokens": [50365, 4621, 13, 50465], "temperature": 0, "avg_logprob": -0.9461503982543945, "compression_ratio": 0.3333333333333333, "no_speech_prob": 1.3053020470055188e-11}], "language": "en"}