v1

Documentación de la API

音子AI开放平台 API 文档,提供完整的接口说明和使用示例

文档说明

本文档描述了音子AI开放平台 API 的使用方法。开发者可以通过 API 进行订单创建、查询等操作。 所有接口均需要通过 apiKey 进行鉴权。

Documentación de la API de Plataforma Abierta (v1)

Este documento describe cómo utilizar la API de la Plataforma Abierta YinziAI. Los desarrolladores pueden utilizar la API para crear pedidos, consultar estados y más.

Autenticación (Authentication)

Todas las interfaces requieren autenticación a través de apiKey. El sistema identifica al usuario en función de la apiKey, sin depender de sesiones o tokens. Puede obtener su clave en "Centro de Usuario" -> "API Key".

Se admiten dos métodos de autenticación:

  1. Autenticación por Encabezado (Recomendado)

    Authorization: Bearer <your_api_key>
    
  2. Autenticación por Parámetro de Consulta

    ?apiKey=<your_api_key>
    

URL Base

https://api.yinziai.com

Lista de Interfaces

1. Crear Pedido (Create Order)

Crea un pedido de procesamiento asíncrono. El sistema generará automáticamente un número de pedido y lo devolverá.

  • URL: /api/open/v1/order/create
  • Method: POST
  • Content-Type: application/json

Parámetros de Solicitud

Nombre del ParámetroTipoRequeridoDescripción
orderTypestringTipo de pedido, ver enumeración abajo
stuffobjectInformación del material
stuff.pathKeystringDirección del recurso (admite enlace HTTP)

Ejemplos de Solicitud

Separación de Pistas (track-separation)

Separa el audio en pistas de voz y acompañamiento.

{
  "orderType": "track-separation",
  "stuff": {
    "pathKey": "https://example.com/audio.mp3"
  }
}

Extracción de Voz (extract-voice)

Extrae la parte vocal del audio.

{
  "orderType": "extract-voice",
  "stuff": {
    "pathKey": "https://example.com/audio.mp3"
  }
}

Extracción de Música (extract-music)

Extrae la parte de acompañamiento/música de fondo del audio.

{
  "orderType": "extract-music",
  "stuff": {
    "pathKey": "https://example.com/audio.mp3"
  }
}

Extracción de Texto (extract-text)

Extrae contenido de texto de video o audio.

{
  "orderType": "extract-text",
  "stuff": {
    "pathKey": "https://example.com/video.mp4"
  }
}

Ejemplo de Respuesta

{
  "code": 0,
  "data": {
    "orderNo": "abc123XYZ789defGHI",
    "orderType": "track-separation",
    "orderStatus": "processing",
    "payStatus": "waiting",
    "messageId": "task-id-123"
  },
  "msg": "success"
}

Descripción de Campos de Respuesta

CampoTipoDescripción
orderNostringNúmero de pedido, utilizado para consultas posteriores
orderTypestringTipo de pedido
orderStatusstringEstado del pedido
payStatusstringEstado del pago
messageIdstringID de mensaje de tarea

2. Consultar Pedido (Query Order)

Consulta el estado de procesamiento y el resultado del pedido. Una vez completado el procesamiento, se devolverá el enlace de descarga del resultado.

Nota: La primera consulta después de completar el pedido deducirá créditos automáticamente.

  • URL: /api/open/v1/order/query
  • Method: GET

Parámetros de Solicitud

Nombre del ParámetroTipoRequeridoDescripción
orderNostringNúmero de pedido

Ejemplo de Solicitud

GET /api/open/v1/order/query?orderNo=abc123XYZ789defGHI
Authorization: Bearer <your_api_key>

Ejemplo de Respuesta (Procesando)

{
  "code": 0,
  "data": {
    "orderNo": "abc123XYZ789defGHI",
    "orderType": "track-separation",
    "status": "processing",
    "cost": 0,
    "reason": null,
    "stuffs": [],
    "balance": 1000
  },
  "msg": "success"
}

Ejemplo de Respuesta (Terminado)

{
  "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"
}

Descripción de Campos de Respuesta

CampoTipoDescripción
orderNostringNúmero de pedido
orderTypestringTipo de pedido
statusstringEstado del pedido
costnumberCréditos consumidos
reasonstringRazón del fallo (solo cuando falla)
stuffsarrayLista de resultados
stuffs[].namestringNombre del archivo
stuffs[].businessstringTipo de negocio (vocals/accompaniment/caption, etc.)
stuffs[].urlstringEnlace de descarga (válido por 1 hora)
balancenumberSaldo de créditos disponible del usuario actual

3. Análisis de Video Corto (Short Video Analyze)

Análisis en tiempo real de enlaces compartidos de videos cortos para obtener información del video y direcciones de descarga sin marca de agua.

Nota: Esta interfaz es una interfaz en tiempo real, que deducirá créditos inmediatamente y devolverá el resultado.

  • URL: /api/open/v1/short-video/analyze
  • Method: POST
  • Content-Type: application/json

Parámetros de Solicitud

Nombre del ParámetroTipoRequeridoDescripción
linkstringEnlace compartido de video corto

Ejemplo de Solicitud

{
  "link": "https://v.douyin.com/ixxxxxx/"
}

Ejemplo de Respuesta

{
  "code": 0,
  "data": {
    "title": "Título del video",
    "author": "Apodo del autor",
    "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"
}

Descripción de Campos de Respuesta

CampoTipoDescripción
titlestringTítulo del video
authorstringApodo del autor
coverstringDirección de la imagen de portada
videoUrlstringDirección de descarga del video sin marca de agua
musicUrlstringDirección de descarga de la música de fondo (si la hay)
balancenumberSaldo de créditos disponible del usuario actual

Descripción de Códigos de Error

Código de ErrorDescripción
0Éxito
400Error de parámetro de solicitud
401Autenticación fallida (API Key inválida o faltante)
500Error interno del servidor

Mensajes de Error Comunes

Mensaje de ErrorDescripción
API Key is requiredSe requiere API Key
Invalid API KeyAPI Key inválida
pathKey is requiredSe requiere dirección del recurso
Order not foundEl pedido no existe o no pertenece al usuario actual
ErrorCode.USER_BLANCE_NOT_ENOUGHSaldo de créditos insuficiente

Apéndice

OrderType (Tipo de Pedido)

ValorDescripción
track-separationSeparación de pistas (separar voz y acompañamiento)
extract-voiceExtracción de voz
extract-musicExtracción de acompañamiento
extract-textExtracción de texto

OrderStatus (Estado del Pedido)

ValorDescripción
pendingPendiente
processingProcesando
finishFinalizado
failedFallido
timeoutTiempo de espera agotado

Plataformas de Video Corto Soportadas

  • Douyin
  • Kuaishou
  • Xiaohongshu
  • Weibo
  • Y otras plataformas de video corto populares
API 文档版本: v1
如果您有任何问题,请参考文档或联系技术支持。