Skip to content

On a schedule

Add translated titles and descriptions to new videos

New uploads get their title and description in the languages you choose, added as YouTube localizations.

Runs
On a schedule
Apps
YouTube
AI
Yes, uses the built-in AI allowance
Access
OAuth youtube.force-ssl (read+write)

Send this to your assistant

Create a ClickRuntime automation: every hour, check for new uploads, translate the title and description into Spanish, German and Hindi, add them as localizations and email me the Studio link.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

YouTube viewers search in their own language. A Portuguese-speaking audience will not find an English-only tutorial, even if it would help them, and many creators know that adding translated titles and descriptions would widen their reach. Few do it, because translating every upload into three languages takes more time than making the video did.

On its schedule, the automation reads each video's title and description, and ClickRuntime's built-in AI translates them into the languages you chose. The translations are written to the video's localizations, so YouTube shows each viewer the version in their language, and an email gives you the Studio link to check.

Educational channels, software tutorials and any creator with international viewers will see the most benefit. Viewers in other languages see your video described the way they search for it.

What you get out of it

  • Foreign-language viewers can find you

    A translated title shows up in search and suggestions for viewers in that language, which opens an audience that an English-only title simply could not reach. Reaching a new language group can double an audience without making a single new video.

  • Your original text stays as it is

    Localizations are separate from the main title and description, so the original language is unchanged, and viewers whose language is not translated still see your version. Keeping the original intact means nothing is lost if a translation needs improvement.

  • Translation happens for every video

    Since it runs on a schedule, new uploads are covered along with the backlog, which is far more consistent than translating when you happen to have time. Old videos get a second life when they are translated, and new ones are covered from day one.

  • No translation agency is needed

    The built-in AI handles common languages, so a creator without a budget for professional translators can still offer localized text on every video. That makes localization possible for creators who could never afford it before.

  • A Studio link lets you check

    The email includes a link so a speaker of the language can look over the result, and you can correct a phrase right in YouTube Studio. A fluent reader catches a clumsy phrase in seconds, so quality control stays easy.

How it works

What happens, step by step

  1. Every hour, ClickRuntime checks your YouTube channel for new uploads. Videos it has already translated are skipped.

  2. For each new video, AI translates the title and description into each language you chose.

  3. The translations are added to the video on YouTube, so viewers see them in their own language.

  4. You get an email listing the languages added, with a link to the video's translations page in YouTube Studio.

Before it runs live

  • Connect YouTube

What you get

RunsOn a schedule
Add translated titles and descriptions to new videostoday, 9:00Succeeded
Email · Translated: Northwind product tourAdded es, de, fr https://studio.youtube.com/video/a1b2c3d4e5f/translations

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Change what the AI looks for, or how it writes the result
  • Add another app, for example also send it to Slack
  • Combine it with other YouTube steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
translate_video_titles_and_descriptions.pyexample
from clickruntime import on_trigger, credentials, http, state, ai, notify, report_fetched

YT = "https://www.googleapis.com/youtube/v3"
LANGS = ["es", "de", "fr"]

@on_trigger
def run(event):
    h = {"Authorization": f"Bearer {credentials.connection('google', 'work')}"}
    uploads = http.get(f"{YT}/channels", headers=h, params={"part": "contentDetails", "mine": "true"}).json()["items"][0]["contentDetails"]["relatedPlaylists"]["uploads"]
    items = http.get(f"{YT}/playlistItems", headers=h, params={"part": "contentDetails", "playlistId": uploads, "maxResults": 5}).json()["items"]
    done = state.get("done") or []
    new = [i["contentDetails"]["videoId"] for i in items if i["contentDetails"]["videoId"] not in done]
    report_fetched(len(new))
    if not new:
        return {"summary": "Nothing new"}
    for vid in new:
        v = http.get(f"{YT}/videos", headers=h, params={"part": "snippet,localizations", "id": vid}).json()["items"][0]
        loc = v.get("localizations", {})
        for lang in LANGS:
            loc[lang] = ai.generate(f"Title: {v['snippet']['title']}\n\nDescription:\n{v['snippet']['description'][:4000]}",
                                    system=f"Translate into language code {lang}. Keep links and timestamps.",
                                    json_schema={"type": "object", "properties": {"title": {"type": "string"}, "description": {"type": "string"}}},
                                    max_output_tokens=1500).json
        snippet = {**v["snippet"], "defaultLanguage": v["snippet"].get("defaultLanguage", "en")}
        http.put(f"{YT}/videos", headers=h, params={"part": "snippet,localizations"}, json={"id": vid, "snippet": snippet, "localizations": loc})
        notify.email_me(f"Translated: {v['snippet']['title']}", f"Added {', '.join(LANGS)}\nhttps://studio.youtube.com/video/{vid}/translations")
        done.append(vid)
    state.set("done", done[-500:])
    return {"translated": len(new)}

FAQ

Common questions

Which languages can it add?
Any language that YouTube supports for localizations, which is a long list including Spanish, French, German, Hindi and Japanese. You choose the languages, and your AI assistant can add more later as you see where your audience is.
Does it translate subtitles or only text?
Only the title and description. Translating the subtitles or captions is a separate job and would need its own automation. Titles and descriptions are the parts that drive search and recommendations, so they are a good first step.
Will it change my default language?
No. The default title and description stay in the video's original language, and translations are added next to them as localizations. Make sure your default language is set correctly in YouTube Studio so the translations match it.
What permissions does it need?
OAuth youtube.force-ssl (read+write). Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run each time it checks. Checks that find nothing new and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Add translated titles and descriptions to new videos” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.