Amara

Learn how to use Amara with Composio

Overview

SLUG: AMARA

Description

Amara is an online platform that enables users to create, edit, and manage subtitles and captions for videos, facilitating accessibility and multilingual content.

Authentication Details

generic_api_key
stringRequired

Connecting to Amara

Create an auth config

Use the dashboard to create an auth config for the Amara toolkit. This allows you to connect multiple Amara accounts to Composio for agents to use.

1

Select App

Navigate to the Amara toolkit page and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5amara_auth_config_id = "ac_YOUR_AMARA_CONFIG_ID" # Auth config ID created above
6user_id = "0000-0000-0000" # UUID from database/app
7
8composio = Composio()
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 # Replace this with a method to retrieve an API key from the user.
12 # Or supply your own.
13 user_api_key = input("[!] Enter API key")
14
15 connection_request = composio.connected_accounts.initiate(
16 user_id=user_id,
17 auth_config_id=auth_config_id,
18 config={"auth_scheme": "API_KEY", "val": user_api_key}
19 )
20
21 # API Key authentication is immediate - no redirect needed
22 print(f"Successfully connected Amara for user {user_id}")
23 print(f"Connection status: {connection_request.status}")
24
25 return connection_request.id
26
27
28connection_id = authenticate_toolkit(user_id, amara_auth_config_id)
29
30# You can verify the connection using:
31connected_account = composio.connected_accounts.get(connection_id)
32print(f"Connected account: {connected_account}")

Tools

Executing tools

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["AMARA"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Add Subtitle Note

Description

Tool to add a note to a subtitle set. use after retrieving the notes uri of the subtitle set.

Action Parameters

body
stringRequired
language_code
stringRequired
video_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Subtitle Language

Description

Tool to create a new subtitle language for a video. use when you need to add a language track (iso 639-1 code) before uploading subtitles.

Action Parameters

language
stringRequired
video_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Fetch Subtitles Data

Description

Tool to fetch subtitle data for a video in a specific language. use when you need to retrieve subtitle segments after confirming video id and language code.

Action Parameters

format
string
language_code
stringRequired
video_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Subtitle Language Details

Description

Tool to retrieve details for a single subtitle language. use when you have video id and language code and need metadata about that language track.

Action Parameters

language_code
stringRequired
video_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Team Details

Description

Tool to get details on a specific team by slug. use when you need metadata for a single team.

Action Parameters

slug
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get User Data

Description

Tool to get user data by username or id. use when you need to fetch account details for a user.

Action Parameters

identifier
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Video URL Details

Description

Tool to get details for a specific video url. use when you have a public or embeddable video url and need its amara metadata (id, title, duration, thumbnails, etc.).

Action Parameters

url
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Available Languages

Description

Tool to get a list of all supported languages. use when you need to know available language options from amara.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Subtitle Languages

Description

Tool to list all subtitle languages for a video. use when you have a video id and need to fetch its available subtitle languages.

Action Parameters

video_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Teams

Description

Tool to list all teams. use when you need to retrieve your accessible teams with pagination.

Action Parameters

limit
integer
offset
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Videos

Description

Tool to list all videos. use when you need to fetch a paginated list of videos with optional filters.

Action Parameters

archive
boolean
language
string
owner
string
page
integer
page_size
integer
project
string
sort
string
team
string
video_id
string
video_url
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Make Video URL Primary

Description

Tool to set a video url as the primary url. use when you need to designate one of a video's urls as primary for embedding and display. call after listing video urls to confirm the url id.

Action Parameters

primary
booleanRequired
url_id
integerRequired
video_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: View Video Details

Description

Tool to view details of a specific video by id. use when you need complete metadata for a given video.

Action Parameters

video_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Video URLs

Description

Tool to list all urls associated with a video. use when you need to retrieve every url for embedding or processing.

Action Parameters

limit
integer
offset
integer
video_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Subtitle Language

Description

Tool to update a subtitle language for a video. use after reviewing existing subtitle language settings and needing to adjust completeness flags or soft-limit constraints.

Action Parameters

is_primary_audio_language
boolean
language_code
stringRequired
soft_limit_cpl
integer
soft_limit_cps
integer
soft_limit_lines
integer
soft_limit_max_duration
integer
soft_limit_min_duration
integer
subtitles_complete
boolean
video_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired