When you are sending the URL of the captcha image to the client, the client will download that image. This is how viewing images on websites works.
The client now has the image in memory. They can do with that data whatever it wants, including sending it to a captcha solving sweat shop. The sweat shop doesn't receive the original URL, just the raw image data. When they solved it, they send back the response and your client can forward that response to you.
From the perspective of your application, the client is a completely black box. Sorry, but there is no way to tell if they solved the captcha themselves or outsourced it to a different party.
But if you are a low-value target for spammers and bots, then there is an alternative solution with which I achieved quite good results in the past: A simple context-based text question. I once administrated a forum about a video game. The forum was really adored by spam bots. We tried different captchas, but none worked. Then I added a simple question to the registration form: "Enter the name of the game this forum is about". Then the spam was gone. The question of course accepted a large variety of possible misspellings and conceivable abbreviations and shorthands to make sure that no legitimate human user was blocked by it.
Note that some spam bots (or their human captcha solvers) have evolved to be able to answer very trivial questions. What's 2 + 4 or Enter ''I am not a spam bot'' here don't work anymore. But if you ask for some domain-knowledge which every legitimate user should know but which is unclear for someone (or something) which looks only at the login form, then it's a useful deterrent.
But this of course only applies to low-value targets. When you are a target which is valuable enough to spend an hour or two on to figure out how to automatize account creation, they will figure out the answer to your question and hardcode it.