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": "wan2.7",
    "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel",
    "resolution": "1080P",
    "duration": 8,
    "size": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}

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": "wan2.7",
    "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel",
    "resolution": "1080P",
    "duration": 8,
    "size": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}

Autorización

Authorization
string
requerido
Todos los endpoints de la API requieren autenticación mediante Bearer TokenObtenga su API Key:Visite la página de gestión de API Keys para obtener su API KeyAñádala al encabezado de la solicitud:
Authorization: Bearer YOUR_API_KEY

Enrutamiento de modos

wan2.7 es una entrada unificada para text-to-video e image-to-video. El backend determina automáticamente el modo según los parámetros entrantes. Ambos modos se facturan de forma idéntica:
CondiciónSe enruta aDescripción del modo
Cualquiera de image_urls / image_with_roles / video_urls está presenteImage-to-VideoPrimer fotograma / Primer y último fotograma / Continuación de video
Ninguno de los parámetros anteriores está presenteText-to-VideoGenera video únicamente a partir de la descripción en texto

Parámetros de la solicitud

model
string
requerido
Nombre del modelo de generación de video, fijado como wan2.7
prompt
string
Descripción del contenido del video, hasta 5000 caracteres
  • Modo Text-to-Video (cuando no se proporciona imagen/video): obligatorio
  • Modo Image-to-Video: opcional, pero recomendado para guiar el movimiento de cámara y las acciones
Ejemplo: "A cat chasing butterflies on the grass, bright sunshine, slow motion"
image_urls
array<string>
Array de URLs de imágenes. Proporcionarlo entra automáticamente en modo Image-to-Video
  • 1 imagen: primer fotograma del video
  • 2 imágenes: primer y último fotograma del video (1ª = primer fotograma, 2ª = último fotograma)
Use este o image_with_roles
image_urls entra en conflicto con audio_url; no pueden proporcionarse al mismo tiempo
image_with_roles
array<object>
Array de imágenes con roles, alternativa a image_urls, usado para especificar con precisión el rol de cada imagenCampos de cada objeto:
  • url (string): URL de la imagen (admite http/https)
  • role (string): rol de la imagen, first_frame / last_frame, por defecto first_frame
Ejemplo:
[
  { "url": "https://cdn.example.com/start.jpg", "role": "first_frame" },
  { "url": "https://cdn.example.com/end.jpg", "role": "last_frame" }
]
image_with_roles entra en conflicto con audio_url; no pueden proporcionarse al mismo tiempo
video_urls
array<string>
Array de URLs de videos. Proporcionarlo entra en el modo de continuación de video (solo se usa el 1er video)
video_urls entra en conflicto con audio_url; no pueden proporcionarse al mismo tiempo
Restricciones del video:
  • Formato: mp4, mov
  • Duración: 2–10s
  • Resolución: ancho y alto en el rango [240, 4096] píxeles
  • Proporción de aspecto: 1:8 – 8:1
  • Tamaño del archivo: hasta 100MB
negative_prompt
string
Prompt negativo que describe el contenido no deseado, hasta 500 caracteresEjemplo: "blurry, distorted, low quality"
resolution
string
predeterminado:"1080P"
Resolución del videoOpciones:
  • 720P - Estándar
  • 1080P - Alta definición (por defecto)
duration
integer
predeterminado:"5"
Duración del video (segundos)Rango soportado: 2 ~ 15 segundosPor defecto: 5
size
string
predeterminado:"16:9"
Proporción de aspecto, solo efectiva en modo Text-to-Video (cuando no se proporciona imagen/video)Formatos soportados:
  • 16:9 - Paisaje panorámico (por defecto)
  • 9:16 - Retrato
  • 1:1 - Cuadrado
  • 4:3 - Paisaje
  • 3:4 - Retrato
Este parámetro se ignora en el modo Image-to-Video; la proporción de aspecto la determina automáticamente la imagen de entrada
audio_url
string
URL de audio personalizado
  • Modo Text-to-Video: usado como música de fondo
  • Modo Image-to-Video: usado como audio conductor, sincronizado con las acciones en pantalla
Formato: wav / mp3, duración 2-30 segundos, tamaño del archivo ≤ 15MB
audio_url entra en conflicto con video_urls, image_urls e image_with_roles; no pueden proporcionarse al mismo tiempo
prompt_extend
boolean
predeterminado:"true"
Si se debe activar la reescritura inteligente del promptMejora significativamente los resultados para prompts cortos, pero aumenta el tiempo de procesamientoPor defecto: true
watermark
boolean
predeterminado:"false"
Si se debe añadir la marca de agua “AI Generated” al video generado
  • true: añadir marca de agua
  • false: sin marca de agua (por defecto)
seed
integer
Entero de seed usado para controlar la aleatoriedad del contenido generadoRango de valores: entero ≥0
  • Para solicitudes idénticas, el modelo genera resultados diferentes al recibir valores de seed diferentes (por ejemplo, al omitir el seed)
  • Para solicitudes idénticas, el modelo genera resultados similares al recibir el mismo valor de seed, pero no se garantiza consistencia exacta

Respuesta

code
integer
Código de estado de la respuesta, 200 en caso de éxito
data
array
Array de datos de la respuesta

Casos de uso

Caso 1: Texto a video (Solicitud más simple)

{
  "model": "wan2.7",
  "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel"
}

Caso 2: Texto a video (Parámetros completos)

{
  "model": "wan2.7",
  "prompt": "A cat chasing butterflies on the grass, bright sunshine, slow motion",
  "negative_prompt": "blurry, distorted, low quality",
  "resolution": "1080P",
  "duration": 8,
  "size": "16:9",
  "audio_url": "https://cdn.example.com/bgm.mp3",
  "prompt_extend": true,
  "watermark": false,
  "seed": 42
}

Caso 3: Primer fotograma a video

{
  "model": "wan2.7",
  "prompt": "The character slowly stands up and walks toward the camera",
  "image_urls": ["https://cdn.example.com/person.jpg"],
  "resolution": "1080P",
  "duration": 8
}

Caso 4: Primer y último fotograma a video

{
  "model": "wan2.7",
  "prompt": "The camera pans slowly from the beach to the mountaintop",
  "image_urls": [
    "https://cdn.example.com/beach.jpg",
    "https://cdn.example.com/mountain.jpg"
  ],
  "resolution": "1080P",
  "duration": 10
}
Con 2 imágenes: la 1ª es el primer fotograma, la 2ª es el último fotograma. También puede usar image_with_roles para una especificación precisa.

Caso 5: Continuación de video

{
  "model": "wan2.7",
  "prompt": "Continue walking forward, camera follows",
  "video_urls": ["https://cdn.example.com/clip.mp4"],
  "resolution": "1080P",
  "duration": 8
}

Caso 6: Imagen + audio conductor

{
  "model": "wan2.7",
  "prompt": "The character moves to the rhythm of the music",
  "image_urls": ["https://cdn.example.com/dancer.jpg"],
  "audio_url": "https://cdn.example.com/beat.mp3",
  "resolution": "1080P",
  "duration": 8
}

Guía de selección de modo

RequisitoEnfoque recomendado
Generar video solo a partir de textoPasar solo prompt (sin imagen/video)
Hacer que una imagen “cobre vida”Pasar 1 imagen a image_urls
Controlar el primer y último fotogramaPasar 2 imágenes a image_urls (primer + último)
Extender un video existentePasar el video a video_urls
Hacer que la imagen se mueva al ritmo de la músicaPasar imagen + audio_url
Consultar resultados de la tareaLa generación de video es una tarea asíncrona que devuelve un task_id al enviarse. Use el endpoint Obtener estado de la tarea para consultar el progreso y los resultados de la generación.