Transcribing audio to script

Error is the attached image

Information on your n8n setup

  • n8n version: 1.99.1

Workflow is below:

{
“nodes”: [
{
“parameters”: {
“content”: “# :brown_square: STEP 1 — Clone a viral TikTok video”,
“height”: 300,
“width”: 2460
},
“id”: “a64b5155-4f15-40cc-9d83-1de8ef070bd9”,
“name”: “Sticky Note”,
“type”: “n8n-nodes-base.stickyNote”,
“position”: [
0,
0
],
“typeVersion”: 1
},
{
“parameters”: {
“updates”: [
“message”
],
“additionalFields”: {}
},
“id”: “48c60954-0307-40fa-872a-d524a189dd60”,
“name”: “Trigger: Get TikTok URL via Telegram”,
“type”: “n8n-nodes-base.telegramTrigger”,
“position”: [
80,
80
],
“webhookId”: “0a5d6208-ff0c-4f0c-8953-cae6a58996bc”,
“typeVersion”: 1.1,
“credentials”: {
“telegramApi”: {
“id”: “EvK0tWbpb7o6FapV”,
“name”: “Telegram account 3”
}
}
},
{
“parameters”: {
“url”: “=https://tiktok-download-video1.p.rapidapi.com/getVideo?url={{ $json.message.text }}”,
“sendHeaders”: true,
“headerParameters”: {
“parameters”: [
{
“name”: “x-rapidapi-host”,
“value”: “tiktok-download-video1.p.rapidapi.com
},
{
“name”: “x-rapidapi-key”,
“value”: “25fb9b322amsha3091f2f276805bp106afajsn483e826e5df0”
}
]
},
“options”: {}
},
“id”: “458297c9-a369-4f9d-b82d-dab5a212c7b9”,
“name”: “Download TikTok Video (RapidAPI)”,
“type”: “n8n-nodes-base.httpRequest”,
“position”: [
320,
80
],
“typeVersion”: 4.2
},
{
“parameters”: {
“url”: “={{ $json.data.origin_cover }}”,
“options”: {}
},
“id”: “9f7564b1-7170-4e7a-a9be-ecfc9e86a2d6”,
“name”: “Extract Video Thumbnail”,
“type”: “n8n-nodes-base.httpRequest”,
“position”: [
540,
80
],
“typeVersion”: 4.2
},
{
“parameters”: {
“method”: “POST”,
“url”: “https://api.cloudinary.com/v1_1/dwslozlrw/image/upload”,
“authentication”: “genericCredentialType”,
“genericAuthType”: “httpBasicAuth”,
“sendBody”: true,
“contentType”: “multipart-form-data”,
“bodyParameters”: {
“parameters”: [
{
“parameterType”: “formBinaryData”,
“name”: “file”,
“inputDataFieldName”: “data”
},
{
“name”: “upload_preset”,
“value”: “n8n_clone”
}
]
},
“options”: {}
},
“id”: “5f44d2db-e94a-497e-bfc3-1518dac15d40”,
“name”: “Upload Thumbnail to Cloudinary”,
“type”: “n8n-nodes-base.httpRequest”,
“position”: [
760,
80
],
“typeVersion”: 4.2,
“credentials”: {
“httpBasicAuth”: {
“id”: “QiNTngiYPkQDyyso”,
“name”: “Unnamed credential”
}
}
},
{
“parameters”: {
“resource”: “image”,
“operation”: “analyze”,
“modelId”: {
“__rl”: true,
“mode”: “list”,
“value”: “gpt-4o”,
“cachedResultName”: “GPT-4O”
},
“imageUrls”: “={{ $json.url }}”,
“options”: {}
},
“id”: “af8cd879-a515-4af7-a92a-fc04a876e253”,
“name”: “Analyze Thumbnail (GPT-4o Vision)”,
“type”: “@n8n/n8n-nodes-langchain.openAi”,
“position”: [
980,
80
],
“typeVersion”: 1.8,
“credentials”: {
“openAiApi”: {
“id”: “TmdaFYlr6WkTWFwd”,
“name”: “OpenAi account”
}
}
},
{
“parameters”: {
“modelId”: {
“__rl”: true,
“mode”: “list”,
“value”: “gpt-4o”,
“cachedResultName”: “GPT-4O”
},
“messages”: {
“values”: [
{
“content”: “=Identify and return only the text located at the very top as described by:\n\n{{ $json.content }}\n\n• Return exactly that top-section text, with no quotation marks or extra commentary. \n• If there is no text overlay at the top of the image, return an empty response.\n”
}
]
},
“options”: {}
},
“id”: “d2bcc2b6-17fe-41f0-b106-2a1267cf3bf6”,
“name”: “Extract Overlay Text (GPT-4o)”,
“type”: “@n8n/n8n-nodes-langchain.openAi”,
“position”: [
1200,
80
],
“typeVersion”: 1.8,
“credentials”: {
“openAiApi”: {
“id”: “TmdaFYlr6WkTWFwd”,
“name”: “OpenAi account”
}
}
},
{
“parameters”: {
“jsCode”: “// Utility to create a random alphanumeric ID\nfunction createUniqueId(length = 12) {\n const characters = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789’;\n let id = ‘’;\n for (let i = 0; i < length; i++) {\n const randomIndex = Math.floor(Math.random() * characters.length);\n id += characters[randomIndex];\n }\n return id;\n}\n\n// Return the ID in the expected output structure\nreturn [\n {\n json: {\n code: createUniqueId()\n }\n }\n];”
},
“id”: “e7b3c0e0-0c9f-4458-a21d-8d7a8b4dc5b9”,
“name”: “Generate Unique Template ID”,
“type”: “n8n-nodes-base.code”,
“position”: [
2000,
80
],
“typeVersion”: 2
},
{
“parameters”: {
“operation”: “append”,
“documentId”: {
“__rl”: true,
“value”: “COPY THIS: n8n TikTok Video Repurposer - Google Sheets”,
“mode”: “url”
},
“sheetName”: {
“__rl”: true,
“mode”: “list”,
“value”: “gid=0”,
“cachedResultUrl”: “https://docs.google.com/spreadsheets/d/1SoYJvZbVNn4L1FNfk9eFqx_vGlCsMxgw8bx0DVFgBLY/edit#gid=0”,
“cachedResultName”: “Template”
},
“columns”: {
“mappingMode”: “defineBelow”,
“value”: {
“Caption”: “={{ $(‘Download TikTok Video (RapidAPI)’).item.json.data.title }}”,
“Video Link”: “={{ $(‘Trigger: Get TikTok URL via Telegram’).item.json.message.text }}”,
“Template ID”: “={{ $json.code }}”,
“Overlay Text Template”: “={{ $(‘Download TikTok Audio1’).item.json.message.content }}”,
“Video Script Template”: “={{ $(‘Transcribe Audio to Script (GPT)1’).item.json.text }}”
},
“matchingColumns”: ,
“schema”: [
{
“id”: “Template ID”,
“displayName”: “Template ID”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Video Link”,
“displayName”: “Video Link”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Overlay Text Template”,
“displayName”: “Overlay Text Template”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Video Script Template”,
“displayName”: “Video Script Template”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Caption”,
“displayName”: “Caption”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true
}
],
“attemptToConvertTypes”: false,
“convertFieldsToString”: false
},
“options”: {}
},
“id”: “77ea8050-de65-4468-823a-aca1ac53049a”,
“name”: “Save Original Video to Google Sheets”,
“type”: “n8n-nodes-base.googleSheets”,
“position”: [
2220,
80
],
“typeVersion”: 4.5
},
{
“parameters”: {
“url”: “={{ $(‘Download TikTok Video (RapidAPI)’).item.json.data.music }}”,
“options”: {}
},
“id”: “ff7d5304-f9f5-4668-9c53-ca280c629ec7”,
“name”: “Download TikTok Audio1”,
“type”: “n8n-nodes-base.httpRequest”,
“position”: [
1540,
80
],
“typeVersion”: 4.2
},
{
“parameters”: {
“resource”: “audio”,
“operation”: “transcribe”,
“options”: {}
},
“id”: “80ffccce-dec6-4786-ae7c-d29d996d148e”,
“name”: “Transcribe Audio to Script (GPT)1”,
“type”: “@n8n/n8n-nodes-langchain.openAi”,
“position”: [
1780,
80
],
“typeVersion”: 1.8,
“credentials”: {
“openAiApi”: {
“id”: “TmdaFYlr6WkTWFwd”,
“name”: “OpenAi account”
}
}
}
],
“connections”: {
“Trigger: Get TikTok URL via Telegram”: {
“main”: [
[
{
“node”: “Download TikTok Video (RapidAPI)”,
“type”: “main”,
“index”: 0
}
]
]
},
“Download TikTok Video (RapidAPI)”: {
“main”: [
[
{
“node”: “Extract Video Thumbnail”,
“type”: “main”,
“index”: 0
}
]
]
},
“Extract Video Thumbnail”: {
“main”: [
[
{
“node”: “Upload Thumbnail to Cloudinary”,
“type”: “main”,
“index”: 0
}
]
]
},
“Upload Thumbnail to Cloudinary”: {
“main”: [
[
{
“node”: “Analyze Thumbnail (GPT-4o Vision)”,
“type”: “main”,
“index”: 0
}
]
]
},
“Analyze Thumbnail (GPT-4o Vision)”: {
“main”: [
[
{
“node”: “Extract Overlay Text (GPT-4o)”,
“type”: “main”,
“index”: 0
}
]
]
},
“Extract Overlay Text (GPT-4o)”: {
“main”: [
[
{
“node”: “Download TikTok Audio1”,
“type”: “main”,
“index”: 0
}
]
]
},
“Generate Unique Template ID”: {
“main”: [
[
{
“node”: “Save Original Video to Google Sheets”,
“type”: “main”,
“index”: 0
}
]
]
},
“Save Original Video to Google Sheets”: {
“main”: [

]
},
“Download TikTok Audio1”: {
“main”: [
[
{
“node”: “Transcribe Audio to Script (GPT)1”,
“type”: “main”,
“index”: 0
}
]
]
},
“Transcribe Audio to Script (GPT)1”: {
“main”: [
[
{
“node”: “Generate Unique Template ID”,
“type”: “main”,
“index”: 0
}
]
]
}
},
“pinData”: {},
“meta”: {
“instanceId”: “ba9f9132c0ff901e622c6785d60b485c7418ce5b89ccb8f487a01a79db5eba9a”
}
}

I’d recommend just using something like Supadata, it will give you ready TikTok captions or transcribe with Whisper if they don’t exist yet. it has a node called n8n-nodes-supadata

Hi, Ebierer. I’d like to know whether your issue has been resolved. I’m facing a similar problem and would like to learn from your experience.

This is my post to address the issue. Thanks.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.