Skip to Content
SignStudioSignapse Connect

Connect

Connect is a way to easily getting files into the Signapse AI platform, in addition to getting completed translations out. This is all without having to manually upload or download files.

Integrations

IntegrationStatus
S3Completed
SharepointTBD
Google DriveTBD
DropboxTBD

S3

With our S3 integration, you can upload files to a specific S3 bucket and Signapse will automatically download, process and upload the translation back to the bucket.

How It Works

The integration works by periodically checking your S3 bucket for new files.

  1. You upload a video file (e.g., my-video.mp4) to your specified S3 bucket.
  2. Every 15 minutes, Signapse scans the bucket for new files.
  3. When a new file is found, it is added to a queue for translation. The original file is not moved or modified.
  4. Once the translation is complete, the new video file is uploaded back to your bucket with a completed/ prefix.
Original File LocationTranslated File Location
s3://<your-bucket-name>/my-video.mp4s3://<your-bucket-name>/completed/my-video.mp4

At present, the integration does not have a separate error handling path. If a file fails to process, it will not result in a file being placed in a failed/ folder. Please check SignStudio for the status of the translations.

Prerequisites

Before you begin, you will need:

  1. An AWS account and Account ID
  2. An S3 bucket
  3. An IAM role with access to the S3 bucket

The setup involves two main steps:

  1. Configure an IAM Role in your AWS account: This secure role grants Signapse the specific, limited permissions needed to access your bucket.

  2. Configure the Integration in SignStudio: You will tell Signapse your AWS Account ID and bucket name so it can use the role you created.

Step 1: IAM Role

This is the role, Signapse will assume to download and upload files.

This role must be called: SignapseS3ConnectRole

Bucket Access

This policy grants Signapse the minimum permissions required. It allows us to list the files in your bucket, read/download them, and write/upload the completed translations.

ActionResource
s3:ListBucketarn:aws:s3:::<your-bucket-name>
s3:GetObjectarn:aws:s3:::<your-bucket-name>*
s3:GetObjectAttributesarn:aws:s3:::<your-bucket-name>*
s3:PutObjectarn:aws:s3:::<your-bucket-name>*
Policy

Create a new IAM policy with the following JSON, replacing <your-bucket-name> with the actual name of your bucket.

IAM Policy
{
"Version": "2012-10-17",
"Statement": [
	{
		"Sid": "AllowSignapseToSeeBucketContents",
		"Effect": "Allow",
		"Action": [
			"s3:ListBucket"
		],
		"Resource": "arn:aws:s3:::<your-bucket-name>"
	},
	{
		"Sid": "AllowSignapseToReadAndWriteObjects",
		"Effect": "Allow",
		"Action": [
			"s3:PutObject",
			"s3:GetObject",
			"s3:GetObjectAttributes"
		],
		"Resource": "arn:aws:s3:::<your-bucket-name>/*"
	}
]
}

Trusted Entities

Next, you must configure the role’s trust relationship. This ensures that only specific Signapse services are able to assume this role.

There are the following services:

  • arn:aws:iam::430916267664:role/production-connect-api-lambda-iam-role
  • arn:aws:iam::430916267664:role/production-connect-s3-sync-lambda-iam-role
  • arn:aws:iam::430916267664:role/production-connect-s3-completer-lambda-iam-role
Trusted Entities Example
Trusted Entities Policy
{
"Version": "2012-10-17",
"Statement": [
  {
    "Effect": "Allow",
    "Principal": {
      "AWS": [
        "arn:aws:iam::430916267664:role/production-connect-api-lambda-iam-role",
        "arn:aws:iam::430916267664:role/production-connect-s3-sync-lambda-iam-role",
        "arn:aws:iam::430916267664:role/production-connect-s3-completer-lambda-iam-role"
      ]
    },
    "Action": "sts:AssumeRole",
    "Condition": {}
  }
]
}

Step 2: Integration Setup

Navigate to the Connect page from the sidebar and click the S3 integration Connect button, this will provide you with an example of the IAM role.

Enter the AWS Account ID and the Bucket name.

The bucket name must be the same as the bucket as setup in the IAM role policy.

Last updated on
Question? Give us feedback
support@signapse.ai