Saltar al contenido principal
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "pixverse-v6",
    "prompt": "A cinematic shot of a corgi running through a sunflower field at golden hour",
    "size": "16:9",
    "resolution": "540p",
    "duration": 5
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01JWXXXXXXXXXXXX"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt

Use this file to discover all available pages before exploring further.

curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "pixverse-v6",
    "prompt": "A cinematic shot of a corgi running through a sunflower field at golden hour",
    "size": "16:9",
    "resolution": "540p",
    "duration": 5
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01JWXXXXXXXXXXXX"
    }
  ]
}

Autenticación

Authorization
string
requerido
Todos los endpoints requieren autenticación mediante Bearer Token.Obtener una API Key:Visite la página de gestión de API Key para obtener su API Key.Añada la siguiente cabecera a la solicitud:
Authorization: Bearer YOUR_API_KEY

Parámetros de la solicitud

model
string
requerido
Nombre del modelo de generación de video. Fijo en pixverse-v6.
prompt
string
requerido
Descripción del contenido del video, hasta 5000 caracteres. Obligatorio en todos los modos.
resolution
string
predeterminado:"540p"
Nivel de resolución del video. Afecta directamente la facturación.
  • 360p: SD
  • 540p: Estándar (predeterminado)
  • 720p: HD
  • 1080p: Full HD
Otros valores de resolución devolverán un error de parámetro.
duration
integer
predeterminado:"5"
Duración del video en segundos, rango 1–15.
El modo de transición de primer/último frame solo admite 5 u 8 segundos.
size
string
predeterminado:"16:9"
Relación de aspecto del video. Solo efectivo en los modos texto a video y fusión multi-referencia.
  • 16:9: Horizontal panorámico (predeterminado)
  • 4:3: Horizontal 4:3
  • 1:1: Cuadrado
  • 3:4: Vertical 3:4
  • 9:16: Vertical
  • 2:3: Vertical 2:3
  • 3:2: Horizontal 3:2
  • 21:9: Cinematográfico panorámico
seed
integer
predeterminado:"0"
Semilla aleatoria, rango 0–2147483647. El mismo prompt y semilla pueden reproducir resultados similares.
negative_prompt
string
Prompt negativo para excluir contenido no deseado. Hasta 2048 caracteres.
audio
boolean
predeterminado:"false"
Si se genera una pista de audio.
  • true: Generar audio (aumenta el precio)
  • false: Sin audio (predeterminado)
watermark
boolean
predeterminado:"false"
Si se añade marca de agua en la esquina inferior derecha del video.
  • true: Añadir marca de agua
  • false: Sin marca de agua (predeterminado)
motion_mode
string
Modo de movimiento.
  • normal: Modo estándar (pixverse-v6 solo admite este valor)
fast solo se aplica a modelos antiguos y será rechazado por el upstream para pixverse-v6.
generate_multi_clip_switch
boolean
predeterminado:"false"
Si se genera un video continuo de múltiples clips. Solo soportado en los modos texto a video e imagen a video.
  • true: Generar video continuo de múltiples clips
  • false: Clip único (predeterminado)
image_urls
array<url>
Array de URL de imágenes de entrada para imagen a video. Solo se utiliza la primera imagen.Las imágenes deben ser URL HTTP/HTTPS accesibles públicamente.
first_frame_image
url
URL del primer frame en el modo de transición. Debe enviarse junto con last_frame_image.
last_frame_image
url
URL del último frame en el modo de transición. Debe enviarse junto con first_frame_image.
img_references
array<url>
Array de URL de imágenes de referencia para el modo de fusión multi-referencia. Soporta 1–7 imágenes.Pasar este campo activa el modo de fusión multi-referencia.
extend_from_task_id
string
ID de la tarea de origen para la extensión de video. Pasar este campo activa el modo de extensión.La tarea de origen debe pertenecer al usuario actual, usar el modelo pixverse-v6 y tener estado completed.

Modos de generación

El adaptador despacha automáticamente al modo de generación correspondiente según los campos de la solicitud. La coincidencia se realiza por orden de prioridad; gana el primero que coincide.
ModoCondición de activaciónDescripción
Texto a videoSin campos de imagen ni de extensiónGenera video a partir del prompt
Imagen a videoimage_urls con una imagenUsa la primera imagen como entrada
Transición primer/último framefirst_frame_image y last_frame_image juntosGenera una transición fluida entre dos frames
Fusión multi-referenciaArray img_references proporcionadoFusiona 1–7 imágenes de referencia en un video
Extensión de videoextend_from_task_id proporcionadoContinúa desde una tarea de Pixverse completada
Todas las entradas de imagen solo aceptan URL HTTP/HTTPS accesibles públicamente. base64 y Data URI no son compatibles. Si solo dispone de imágenes locales, súbalas primero a un object storage y pase la URL.

Reglas de parámetros

RestricciónDescripción
Duración1 ≤ duration ≤ 15 segundos; modo de transición solo 5 u 8 segundos
ResoluciónSolo se admiten 360p, 540p, 720p, 1080p
Relación de aspectosize solo es efectivo en los modos texto a video y fusión multi-referencia
Longitud del promptprompt hasta 5000 caracteres, negative_prompt hasta 2048 caracteres
Imagen a videoimage_urls solo usa la primera imagen
Transiciónfirst_frame_image y last_frame_image deben enviarse en pareja
Modo de movimientopixverse-v6 solo admite normal
Fusión multi-referenciaimg_references admite 1–7 imágenes
Extensión de videoextend_from_task_id debe apuntar a una tarea pixverse-v6 con estado completed del usuario actual

Respuesta

code
integer
Código de estado de la respuesta. 200 en caso de éxito.
data
array
Array de tareas devuelto.

Consulta del resultado de la tarea

La generación de video es una tarea asíncrona. Tras el envío se devuelve un task_id. Use el endpoint Obtener estado de la tarea para consultar progreso y resultado.
cURL
curl --request GET \
  --url https://api.apimart.ai/v1/tasks/task_01JWXXXXXXXXXXXX \
  --header 'Authorization: Bearer <token>'
Se recomienda hacer polling cada 5 segundos hasta que el estado sea completed o failed.

Ejemplo de éxito

{
  "code": 200,
  "data": {
    "id": "task_01KSPX48B8V1M6C2ZN0D0T4BKB",
    "status": "completed",
    "progress": 100,
    "cost": 0.2,
    "created": 1779958948,
    "completed": 1779958999,
    "estimated_time": 100,
    "actual_time": 51,
    "result": {
      "videos": [
        {
          "url": ["https://upload.apimart.ai/f/video/xxxx.mp4"],
          "expires_at": 1780045399
        }
      ]
    }
  }
}
La URL del video está en data.result.videos[0].url[0]. El campo url es a su vez un array. Los enlaces de video suelen caducar tras 24 horas; descárguelos o transfiéralos a tiempo.

Ejemplo de fallo

{
  "code": 200,
  "data": {
    "id": "task_01KSPX48B8V1M6C2ZN0D0T4BKB",
    "status": "failed",
    "progress": 100,
    "cost": 0,
    "created": 1779958948,
    "completed": 1779958960,
    "error": {
      "code": "task_failed",
      "message": "pixverse error 400063: moderation failed",
      "type": "task_failed"
    }
  }
}
En caso de fallo, cost suele ser 0. La causa del error está en data.error.message.

Casos de uso

Caso 1: Texto a video

{
  "model": "pixverse-v6",
  "prompt": "A neon-lit alley in Tokyo at night, light rain, anamorphic lens flare",
  "size": "21:9",
  "resolution": "720p",
  "duration": 8,
  "seed": 42,
  "audio": true
}

Caso 2: Imagen a video

{
  "model": "pixverse-v6",
  "prompt": "Camera slowly zooms in, gentle wind moves the leaves",
  "image_urls": ["https://example.com/first-frame.jpg"],
  "resolution": "540p",
  "duration": 5
}

Caso 3: Transición primer/último frame

{
  "model": "pixverse-v6",
  "prompt": "transform smoothly from a puppy to a cat",
  "first_frame_image": "https://example.com/puppy.jpg",
  "last_frame_image": "https://example.com/cat.jpg",
  "resolution": "540p",
  "duration": 5,
  "motion_mode": "normal"
}

Caso 4: Fusión multi-referencia

{
  "model": "pixverse-v6",
  "prompt": "A girl wearing the outfit from image 2, holding the cat from image 3",
  "img_references": [
    "https://example.com/character.jpg",
    "https://example.com/outfit.jpg",
    "https://example.com/cat.jpg"
  ],
  "size": "9:16",
  "resolution": "720p",
  "duration": 5
}

Caso 5: Extensión de video

{
  "model": "pixverse-v6",
  "prompt": "the character now walks into a forest",
  "extend_from_task_id": "task_01JWXXXXXXXXXXXX",
  "resolution": "540p",
  "duration": 5
}