APIs
Générer une transcription
Pour transcrire un enregistrement audio, envoyez votre fichier via l’endpoint get-upload-url.
Celui-ci génère une URL présignée vous permettant de téléverser votre fichier directement vers
notre stockage sécurisé. Une fois le téléversement complété, la transcription est lancée
automatiquement et le résultat est transmis à votre webhook.
POSThttps://plumeia.api.ca/get-upload-url
Paramètre |
Type |
Description |
|---|---|---|
|
string |
Doit être |
|
string |
Clé API fournie par Plume |
|
string |
Nom du fichier à téléverser |
|
string |
Identifiant de l’utilisateur |
|
string |
Langue de l’enregistrement ( |
|
string |
URL de rappel appelée lorsque la transcription est disponible. Si absente, le webhook par défaut configuré lors de l’intégration est utilisé. |
Exemple
response = requests.post(
'https://plumeia.api.ca/get-upload-url',
headers={
'Content-Type': 'application/json',
'x-api-key': API_KEY
},
json={
'filename': file_path,
'username': username,
'language': language,
'webhook': 'https://votre-serveur.com/webhook'
}
)
Réponse
Champ |
Type |
Description |
|---|---|---|
|
string |
URL présignée pour le téléversement |
|
object |
En-têtes à inclure lors du téléversement |
Utilisez l’URL et les en-têtes retournés à l’étape précédente pour téléverser votre fichier. La transcription sera automatiquement lancée et le résultat sera transmis à votre webhook.
PUT{upload_url}
Paramètre |
Type |
Description |
|---|---|---|
|
object |
En-têtes retournés par |
|
binary |
Contenu binaire du fichier audio |
Exemple
with open(file, 'rb') as f:
upload_response = requests.put(
data['upload_url'],
data=f,
headers=data['headers']
)
Une fois le téléversement complété, la transcription est lancée automatiquement. Le résultat est transmis à votre webhook sous forme d’objet JSON.
Champ |
Type |
Description |
|---|---|---|
|
string |
Identifiant de l’utilisateur |
|
string |
Statut de la transcription ( |
|
string |
Texte transcrit, ou message d’erreur si la transcription a échoué |
Réponse — succès
{
"user_id": "user01",
"status": "SUCCESS",
"timestamp": "timestamp",
"transcription": "Voici le contenu de l'enregistrement."
}
Réponse — erreur
{
"user_id": "user01",
"status": "ERREUR",
"timestamp": "timestamp",
"transcription": "ERREUR: [description de l'erreur]"
}
Exemple de code
import requests
API_KEY = 'votre_clé_api'
def upload_file(file_path, username, language, webhook):
response = requests.post(
'https://plumeia.api.ca/get-upload-url',
headers={
'Content-Type': 'application/json',
'x-api-key': API_KEY
},
json={
'filename': file_path,
'username': username,
'language': language,
'webhook': webhook
}
)
if response.status_code != 200:
raise Exception(f"Erreur : {response.status_code} : {response.text}")
data = response.json()
with open(file_path, 'rb') as f:
upload_response = requests.put(
data['upload_url'],
data=f,
headers=data['headers']
)
if upload_response.status_code != 200:
raise Exception(f"{upload_response.status_code} : {upload_response.text}")
else:
print("Upload successful")
if __name__ == "__main__":
try:
upload_file("docs/myfile.wav", "user01", "fr")
except Exception as e:
print(f"Erreur : {e}")