Transcribe YouTube Videos with AI Enhancement via Chat Interface

I want to use the n8n workflow to transcribe the youtube. I have tried to use the provided template

Transcribe YouTube Videos with AI Enhancement via Chat Interface

I have made all the modules, entry point, validation-URL, HTTP Request working. There is a transcription getting into the openAI module. However, the openAI has an error ‘Bad Request - please check my parameters’

I have checked the openAI parameters and I could not spot out any issue. I would be appreciated if anyone can give me the advice on this issue. Thanks.

I have found that the Open AI does not like the Json input. If I put a text input. It is working.

So I need to extract all the Json items into a text string. But I am new to n8n. Have anyone had the experience to convert the multi-array items aggregating to a text string ?

I would be appreciated if anyone can suggest me a n8n node to aggregate the Json multi-Items into a text string. Thanks.

@Simon_Poon
But, I think you used apify actor for generating youtube video transcript instead of supadata.

It is also give a free usage. So try it.

Hi @Dhruv29,

Thanks for your suggestion. I just resolved my issue through a function call between the HTTP Request (supadata) and the OpenAI node.

I also export the transcript into a google drive docx document.

So it is a completed working workflow now.

By the way, apify actor is new to me. I will explore it as well. THANKS.

Hey @Simon_Poon! The “Bad Request” error with OpenAI transcription usually happens because of file format or size issues — OpenAI Whisper only accepts audio files (mp3, wav, etc.) under 25MB, so if you’re sending it a video file directly, it will reject it.

If you’re looking for a simpler approach to YouTube transcription in n8n, I recently published a community node called ReelScribe that handles this. You just paste a YouTube URL and it returns the transcription — no need to extract audio or deal with file format conversion.

Install it by searching “reelscribe” in Community Nodes, or npm install n8n-nodes-reelscribe.

It also has built-in polling, so it waits until the transcription is done before passing the result to the next node. Works with TikTok and Instagram too.

Hope that helps!