Discussions
Internal Server Error (500) when creating a talk via API
I am a new user on a paid plan (Lite) and I am encountering a persistent "Internal Server Error" when trying to create a video using the /talks API endpoint. I have successfully debugged the authentication, and I am confident the issue lies in the final step of the process.
I have isolated the problem using curl to provide a minimal, reproducible example.
The process I am following is:
I successfully request a pre-signed URL for my audio file from the /audios endpoint.
I successfully PUT my local audio file to the pre-signed URL.
I successfully request a pre-signed URL for my source image from the /images endpoint.
I successfully PUT my local image file to the pre-signed URL.
I then make the final POST request to the /talks endpoint, referencing the id values from the previous steps.
This final /talks request is what fails with a 500 - Internal Server Error.
Here is the exact curl command I am using for the final step. This command uses your own public sample assets to prove the issue is not with my files. (You can tell them you also tested with your own uploaded files and got the same error).
This is the curl command for the final, failing request:
curl --request POST
--url https://api.d-id.com/talks
--header 'accept: application/json'
--header 'content-type: application/json'
--header 'authorization: Basic YOUR_ENCODED_API_KEY'
--data '{
"source_url": "s3://d-id-images-prod/img_gV9g_3_e_x",
"script": {
"type": "audio",
"audio_url": "s3://d-id-audios-prod/aud_Y_A_gV9g_3_e"
},
"config": {
"result_format": "mp4"
}
}'
(Note: When you send the ticket, you will want to replace the example s3:// URLs with the real id values you get from your successful /audios and /images calls, and replace YOUR_ENCODED_API_KEY with your actual encoded key. This gives them a real request they can trace in their logs.)
My Question:
Could you please advise why this correctly structured API call to /talks is resulting in a 500 - Internal Server Error? Is there a known issue, or is there a mistake in my final payload structure that I am missing?
Thank you for your help.
Regards,
James