Convertapi

Learn how to use Convertapi with Composio

Overview

SLUG: CONVERTAPI

Description

ConvertAPI is a file conversion service that allows developers to convert various file formats, such as documents, images, and spreadsheets, into different formats programmatically.

Authentication Details

generic_api_key
stringRequired

Connecting to Convertapi

Create an auth config

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

1

Select App

Navigate to Convertapi.

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

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Convertapi toolkit’s playground

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=["CONVERTAPI"])
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: Async Convert

Description

Tool to perform an asynchronous file conversion. use when converting large or long-running files to avoid client timeouts.

Action Parameters

File
Required
JobId
WebHook
destination_format
stringRequired
source_format
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Async Job

Description

Tool to delete a previously created asynchronous conversion job. use when the job is no longer required to free server resources.

Action Parameters

JobId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Uploaded File

Description

Tool to delete a previously uploaded file. use when the file is no longer needed and should be removed from temporary storage.

Action Parameters

FileId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Supported Input Formats For Output

Description

Tool to list all input formats that can convert to a specified output format. use after deciding the target output format.

Action Parameters

output_format
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Convert PDF to DOCX

Description

Tool to convert pdf files to docx format. use when you need editable word documents from pdfs. provide pdf content or url and receive docx file metadata and download links.

Action Parameters

File
stringRequired
FileName
string
OcrEngine
stringDefaults to native
OcrLanguage
stringDefaults to auto
OcrMode
stringDefaults to auto
PageRange
stringDefaults to 1-2000
Password
string
StoreFile
boolean
Timeout
integerDefaults to 600
Wysiwyg
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Convert PDF to JPG and Store

Description

Tool to convert a pdf to jpg and store the result on the server. use when individual jpg pages are needed for further workflow steps.

Action Parameters

File
stringRequired
FileName
string
StoreFile
booleanDefaults to True

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload File From URL

Description

Tool to upload a file directly from a remote url. use when you need to import files hosted on a remote server without downloading locally.

Action Parameters

FileId
string
FileName
string
HeaderName
string
HeaderValue
string
Url
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload File (Multipart)

Description

Tool to upload a file via multipart/form-data. use when you need to store a file on convertapi's servers (up to 3 hours) and obtain a fileid for subsequent conversions.

Action Parameters

ContentType
string
File
Required
FileName
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload File (octet-stream)

Description

Tool to upload a file with application/octet-stream. use when you need to upload raw file data efficiently for reuse in multiple conversions.

Action Parameters

File
stringRequired
FileName
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Download Uploaded File

Description

Tool to download a previously uploaded file by its fileid. use when you need to retrieve the original file data stored temporarily on the server (expires after 3 hours). example prompt: "download uploaded file with id 25811safe8e61dd3f51ef00ee5f58b92"

Action Parameters

FileId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Supported Output Formats For Input

Description

Tool to list all output formats a given input format can be converted into. use when you need to dynamically retrieve conversion options for a specific input format.

Action Parameters

source_format
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired