Discussions

Ask a Question
Back to All

500 Internal Server Error when calling /talks endpoint from n8n


I’m integrating D-ID’s POST /talks API inside an n8n workflow, and I keep getting a 500 response with this payload:

500 - "{\"kind\":\"UnknownError\",\"description\":\"Internal Server Error\"}"

When I send the exact same request via curl or Postman, it works normally and returns the expected talk_id and URLs. However, from within the n8n HTTP Request node it fails every time.

Request Details
• Endpoint: https://api.d-id.com/talks
• Method: POST
• Headers in n8n:
• accept: application/json
• x-api-key-external: "{"elevenlabs": "sk_xyz…"}"
• Auth: Basic auth with API key
• Body (raw JSON):

{  
  "source_url": "<https://i.imgur.com/DFMqnsu.png">,  
  "script": {  
    "type": "text",  
    "subtitles": "false",  
    "provider": { "type": "elevenlabs", "voice_id": "tUVMjP56ZNYXlKLsRXbo" },  
    "input": "Bart, are you running for office or crafting a Netflix series?…",  
    "ssml": "true"  
  },  
  "config": {  
    "fluent": "false",  
    "driver_expressions": [  
      { "expression": "serious", "start_frame": 0, "intensity": 0.8 }  
    ],  
    "output_resolution": 1080  
  }  
}

• n8n node settings that I’ve tried:
• Response Format: JSON
• Body Content Type: Raw, JSON, Form

• With and without Content-Type: application/json header


Expected vs. Actual
• Expected: HTTP 200 with JSON containing talk_id and asset URLs.
• Actual: HTTP 500 with body {"kind":"UnknownError","description":"Internal Server Error"}


Questions
• Is there any special requirement on the body encoding or headers for /talks when called from server-side clients like n8n?
• Has anyone run into this exact “UnknownError” on POST /talks and discovered a workaround?
• Are there any hidden n8n quirks (e.g. how it streams requests) that could trigger this failure?

Thanks in advance for any pointers!