Submit an S3 signed url

Process a file by providing the S3 signed url

Similarly to our Behavioral API, you can send an S3 presigned URL instead of uploading the file yourself.

🔉 Audio files

🌐 cURL Example

curl --request POST \
     --url https://api.behavioralsignals.com/v5/detection/clients/your-client-id/processes/s3-presigned-url \
     --header 'X-Auth-Token: your-api-token' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
	   --data '{
         "url": "https://amzn-s3-demo-bucket.s3.amazonaws.com/object.txt?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Signature=vjbyNxybdZaMmLa%2ByT372YEAiv4%3D&Expires=1741978496",
         "name": "my-awesome-audio",
         "meta": "{\"key\": \"value\"}"
         }'

🐍 Python SDK Example

You can also use the Python SDK to submit an S3 url (requires SDK version >= 0.2.0):

from behavioralsignals import Client

client = Client()

process = client.deepfakes.upload_s3_presigned_url(url="https://amzn-s3-demo-bucket.s3.amazonaws.com/object.txt?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Signature=vjbyNxybdZaMmLa%2ByT372YEAiv4%3D&Expires=1741978496")

Client() reads your credentials from the BEHAVIORALSIGNALS_CID and BEHAVIORALSIGNALS_API_KEY environment variables (see setup).

🎥 Video files

🚧

Video deepfake detection is experimental

The endpoints and the response schema may still change, the models behind it are being tuned. Please get in touch before you build a production workflow on it.

The video endpoint takes the same payload, and the same format and resolution limits apply as for a direct upload.

🌐 cURL Example

curl --request POST \
     --url https://api.behavioralsignals.com/v5/detection/clients/your-client-id/processes/s3-presigned-video-url \
     --header 'X-Auth-Token: your-api-token' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
	   --data '{
         "url": "https://amzn-s3-demo-bucket.s3.amazonaws.com/clip.mp4?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Signature=vjbyNxybdZaMmLa%2ByT372YEAiv4%3D&Expires=1741978496",
         "name": "my-awesome-video",
         "meta": "{\"key\": \"value\"}"
         }'

🐍 Python SDK Example

Video support requires SDK version >= 0.5.0:

from behavioralsignals import Client

client = Client()

process = client.deepfakes.upload_s3_presigned_video_url(url="https://amzn-s3-demo-bucket.s3.amazonaws.com/clip.mp4?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Signature=vjbyNxybdZaMmLa%2ByT372YEAiv4%3D&Expires=1741978496")

Did this page help you?