Many people must know about the Internet Bodhisattva, and that is Cloudflare. Almost all of their products, including but not limited to CDN, KV database, Pages, and Workers, provide a lot of free resources and encourage people to use them for free. More importantly, the free quota is very high, and generally small businesses or individual studios can support their business without spending a penny.
Recently, Cloudflare has launched a free AI service. You can directly build a free and available AI service in the background of their website without a server or domain name, with simple steps, including translation, text generation, text-to-image, and speech recognition. This is really a wave of benefits, don't miss it!
This article mainly introduces how to build an available free translation API in the Cloudflare background, using the m2m100-1.2B model. The effect after implementation is as follows:
This article mainly includes:
- Register and log in
- Create Worker service
- Copy and paste the code and deploy and start
- Bind your own domain name (optional)
- Use this API in the code or software
1. Register and log in
If you don't have an account, click this address to register, which is very simple https://dash.cloudflare.com/sign-up
If you have an account, go directly to log in https://dash.cloudflare.com/login
2. Create Worker service
After logging in, click "Workers and Pages" on the left
Then click "Create"
In the new page that opens, click "AI" on the right, find "Translation App", put the mouse on it, and click
In the next interface, set a name. This name will be part of the domain name assigned to you. Only numbers, English, underscores, and middle dashes are allowed, as shown in the figure below, and then save -- complete
Next, you will be told that the deployment is successful, but you still need to paste the code to replace the default one.
3. Copy and paste the code
Click "Edit Code" displayed at the end of the previous step, wait for the page to display, then delete all the code on the left and paste the following code on the left. The 123456
in it is your access key, you can modify it to prevent others from using it to waste your free traffic.
// This is the access key
const SECRET_PASS="123456"
export default {
async fetch(request, env) {
const urlStr = request.url
const urlObj = new URL(urlStr)
let text = urlObj.searchParams.get('text')
let source_language = urlObj.searchParams.get('source_language')
let target_language = urlObj.searchParams.get('target_language')
let secret = urlObj.searchParams.get('secret')
if(secret!==SECRET_PASS){
return Response.json({code:1,msg:"No access",text:text,source_language:source_language,target_lanuage:target_language,secret:secret});
}
const inputs = {
text: text,
source_lang: source_language,
target_lang: target_language,
};
const response = await env.AI.run('@cf/meta/m2m100-1.2b', inputs);
if(response.translated_text.indexOf('ERROR')===0){
return Response.json({code:2,msg:"ok",text:response.translated_text});
}
return Response.json({code:0,msg:"ok",text:response.translated_text });
},
};
After pasting, wait for "Save and Deploy" in the upper right corner to be clickable, click it, and then confirm and deploy again in the pop-up confirmation window
Okay, you can use it happily. For example, the address after my deployment is https://my-translate-api.2124455076.workers.dev/
, then I can use it directly through this address
https://my-translate-api.2124455076.workers.dev/?text=%E4%BD%A0%E5%A5%BD%E5%95%8A%E6%88%91%E7%9A%84%E6%9C%8B%E5%8F%8B&source_language=zh&target_language=en&secret=123456
This address is your translation API interface address.
4. Bind your own domain name
If you think this address is too long or bad, or workers.dev may be blocked and cannot be accessed in China, and you don't want to use a proxy, you can bind your own domain name.
First, you need to modify your domain name NS server to Cloudflare's. After it takes effect, return to the Cloudflare homepage https://dash.cloudflare.com/ and bind your domain name
NS | ezra.ns.cloudflare.com |
---|---|
NS | karsyn.ns.cloudflare.com |
After adding, return to your worker. Remember how to enter? Click "Workers and Pages" on the left
You will see the service you have created on the right. Click its name to enter the settings page
As shown in the figure below, first click "Settings-->Triggers", and then click "Add Custom Domain" to add your own domain name. For example, if the domain name you have bound to Cloudflare is abc.com, then you can set api.abc.com here,
Okay, now you can use your own domain name to access it
5. Use this API in code and software
First, remember the language codes supported by m2m100
Afrikaans (af), Amharic (am), Arabic (ar), Asturian (ast), Azerbaijani (az), Bashkir (ba), Belarusian (be), Bulgarian (bg), Bengali (bn), Breton (br), Bosnian (bs), Catalan (ca), Cebuano (ceb), Czech (cs), Welsh (cy), Danish (da), German (de), Greek (el), English (en), Spanish (es), Estonian (et), Persian (fa), Fulah (ff), Finnish (fi), French (fr), Western Frisian (fy), Irish (ga), Scottish Gaelic (gd), Galician (gl), Gujarati (gu), Hausa (ha), Hebrew (he), Hindi (hi), Croatian (hr), Haitian Creole (ht), Hungarian (hu), Armenian (hy), Indonesian (id), Igbo (ig), Ilocano (ilo), Icelandic (is), Italian (it), Japanese (ja), Javanese (jv), Georgian (ka), Kazakh (kk), Central Khmer (km), Kannada (kn), Korean (ko), Luxembourgish (lb), Ganda (lg), Lingala (ln), Lao (lo), Lithuanian (lt), Latvian (lv), Malagasy (mg), Macedonian (mk), Malayalam (ml), Mongolian (mn), Marathi (mr), Malay (ms), Burmese (my), Nepali (ne), Dutch (nl), Norwegian (no), Northern Sotho (ns), Occitan (oc), Oriya (or), Punjabi (pa), Polish (pl), Pashto (ps), Portuguese (pt), Romanian (ro), Russian (ru), Sindhi (sd), Sinhala (si), Slovak (sk), Slovenian (sl), Somali (so), Albanian (sq), Serbian (sr), Swati (ss), Sundanese (su), Swedish (sv), Swahili (sw), Tamil (ta), Thai (th), Tagalog (tl), Tswana (tn), Turkish (tr), Ukrainian (uk), Urdu (ur), Uzbek (uz), Vietnamese (vi), Wolof (wo), Xhosa (xh), Yiddish (yi), Yoruba (yo), Chinese (zh), Zulu (zu)
Use this API with Python code
import requests
response = requests.get(url="https://transapi.pyvideotrans.com/?text=你好啊我的朋友们&source_language=zh&target_language=en&secret=123456")
print(response.json())
It's that simple
Use in video translation software
Open the settings menu in the upper left corner -- Custom Translation API, fill in your API address and key, and then test it
After there is no problem, select "TransAPI" in the translation channel to happily use the free API and free service resources to translate your videos. The free quota is generally enough for monthly use.
Thanks again to the Internet Bodhisattva.