Documentation de l'API
音子AI开放平台 API 文档,提供完整的接口说明和使用示例
文档说明
本文档描述了音子AI开放平台 API 的使用方法。开发者可以通过 API 进行订单创建、查询等操作。 所有接口均需要通过 apiKey 进行鉴权。
Documentation API Open Platform (v1)
Ce document décrit comment utiliser l'API YinziAI Open Platform. Les développeurs peuvent utiliser l'API pour créer des commandes, consulter des statuts, et plus encore.
Authentification (Authentication)
Toutes les interfaces nécessitent une authentification via apiKey. Le système identifie l'utilisateur en fonction de l'apiKey, sans dépendre de session ou de jeton.
Vous pouvez obtenir votre clé dans "Centre Utilisateur" -> "API Key".
Deux méthodes d'authentification sont prises en charge :
-
Authentification par en-tête (Recommandé)
Authorization: Bearer <your_api_key> -
Authentification par paramètre de requête
?apiKey=<your_api_key>
URL de base
https://api.yinziai.com
Liste des interfaces
1. Créer une commande (Create Order)
Crée une commande de traitement asynchrone. Le système générera automatiquement un numéro de commande et le renverra.
- URL:
/api/open/v1/order/create - Method:
POST - Content-Type:
application/json
Paramètres de requête
| Nom du paramètre | Type | Requis | Description |
|---|---|---|---|
| orderType | string | Oui | Type de commande, voir énumération ci-dessous |
| stuff | object | Oui | Informations sur le matériel |
| stuff.pathKey | string | Oui | Adresse de la ressource (lien HTTP supporté) |
Exemples de requête
Séparation de pistes (track-separation)
Sépare l'audio en pistes vocales et d'accompagnement.
{
"orderType": "track-separation",
"stuff": {
"pathKey": "https://example.com/audio.mp3"
}
}
Extraction vocale (extract-voice)
Extrait la partie vocale de l'audio.
{
"orderType": "extract-voice",
"stuff": {
"pathKey": "https://example.com/audio.mp3"
}
}
Extraction d'accompagnement (extract-music)
Extrait la partie accompagnement/musique de fond de l'audio.
{
"orderType": "extract-music",
"stuff": {
"pathKey": "https://example.com/audio.mp3"
}
}
Extraction de texte (extract-text)
Extrait le contenu textuel d'une vidéo ou d'un audio.
{
"orderType": "extract-text",
"stuff": {
"pathKey": "https://example.com/video.mp4"
}
}
Exemple de réponse
{
"code": 0,
"data": {
"orderNo": "abc123XYZ789defGHI",
"orderType": "track-separation",
"orderStatus": "processing",
"payStatus": "waiting",
"messageId": "task-id-123"
},
"msg": "success"
}
Description des champs de réponse
| Champ | Type | Description |
|---|---|---|
| orderNo | string | Numéro de commande, utilisé pour les requêtes ultérieures |
| orderType | string | Type de commande |
| orderStatus | string | Statut de la commande |
| payStatus | string | Statut du paiement |
| messageId | string | ID du message de tâche |
2. Consulter la commande (Query Order)
Interroge le statut de traitement et le résultat de la commande. Une fois le traitement terminé, le lien de téléchargement du résultat sera renvoyé.
Note: La première requête après la fin de la commande déduira automatiquement des crédits.
- URL:
/api/open/v1/order/query - Method:
GET
Paramètres de requête
| Nom du paramètre | Type | Requis | Description |
|---|---|---|---|
| orderNo | string | Oui | Numéro de commande |
Exemple de requête
GET /api/open/v1/order/query?orderNo=abc123XYZ789defGHI
Authorization: Bearer <your_api_key>
Exemple de réponse (En traitement)
{
"code": 0,
"data": {
"orderNo": "abc123XYZ789defGHI",
"orderType": "track-separation",
"status": "processing",
"cost": 0,
"reason": null,
"stuffs": [],
"balance": 1000
},
"msg": "success"
}
Exemple de réponse (Terminé)
{
"code": 0,
"data": {
"orderNo": "abc123XYZ789defGHI",
"orderType": "track-separation",
"status": "finish",
"cost": 10,
"reason": null,
"stuffs": [
{
"name": "vocals.mp3",
"business": "vocals",
"url": "https://cdn.example.com/result/vocals.mp3"
},
{
"name": "accompaniment.mp3",
"business": "accompaniment",
"url": "https://cdn.example.com/result/accompaniment.mp3"
}
],
"balance": 990
},
"msg": "success"
}
Description des champs de réponse
| Champ | Type | Description |
|---|---|---|
| orderNo | string | Numéro de commande |
| orderType | string | Type de commande |
| status | string | Statut de la commande |
| cost | number | Crédits consommés |
| reason | string | Raison de l'échec (seulement en cas d'échec) |
| stuffs | array | Liste des résultats |
| stuffs[].name | string | Nom du fichier |
| stuffs[].business | string | Type d'activité (vocals/accompaniment/caption, etc.) |
| stuffs[].url | string | Lien de téléchargement (valide 1 heure) |
| balance | number | Solde de crédits disponible de l'utilisateur actuel |
3. Analyse de vidéo courte (Short Video Analyze)
Analyse en temps réel des liens de partage de vidéos courtes pour obtenir des informations vidéo et des adresses de téléchargement sans filigrane.
Note: Cette interface est une interface en temps réel, qui déduira immédiatement des crédits et renverra le résultat.
- URL:
/api/open/v1/short-video/analyze - Method:
POST - Content-Type:
application/json
Paramètres de requête
| Nom du paramètre | Type | Requis | Description |
|---|---|---|---|
| link | string | Oui | Lien de partage de vidéo courte |
Exemple de requête
{
"link": "https://v.douyin.com/ixxxxxx/"
}
Exemple de réponse
{
"code": 0,
"data": {
"title": "Titre de la vidéo",
"author": "Surnom de l'auteur",
"cover": "https://cdn.example.com/cover.jpg",
"videoUrl": "https://cdn.example.com/video.mp4",
"musicUrl": "https://cdn.example.com/music.mp3",
"balance": 990
},
"msg": "success"
}
Description des champs de réponse
| Champ | Type | Description |
|---|---|---|
| title | string | Titre de la vidéo |
| author | string | Surnom de l'auteur |
| cover | string | Adresse de l'image de couverture |
| videoUrl | string | Adresse de téléchargement de la vidéo sans filigrane |
| musicUrl | string | Adresse de téléchargement de la musique de fond (si disponible) |
| balance | number | Solde de crédits disponible de l'utilisateur actuel |
Description des codes d'erreur
| Code d'erreur | Description |
|---|---|
| 0 | Succès |
| 400 | Erreur de paramètre de requête |
| 401 | Échec de l'authentification (API Key invalide ou manquante) |
| 500 | Erreur interne du serveur |
Messages d'erreur courants
| Message d'erreur | Description |
|---|---|
| API Key is required | Clé API requise |
| Invalid API Key | Clé API invalide |
| pathKey is required | Adresse de ressource requise |
| Order not found | La commande n'existe pas ou n'appartient pas à l'utilisateur actuel |
| ErrorCode.USER_BLANCE_NOT_ENOUGH | Solde de crédits insuffisant |
Annexe
OrderType (Type de commande)
| Valeur | Description |
|---|---|
| track-separation | Séparation de pistes (séparer voix et accompagnement) |
| extract-voice | Extraction vocale |
| extract-music | Extraction d'accompagnement |
| extract-text | Extraction de texte |
OrderStatus (Statut de commande)
| Valeur | Description |
|---|---|
| pending | En attente |
| processing | En traitement |
| finish | Terminé |
| failed | Échoué |
| timeout | Délai dépassé |
Plateformes de vidéos courtes prises en charge
- Douyin
- Kuaishou
- Xiaohongshu
- Et autres plateformes de vidéos courtes grand public