Respuesta corta: puede llamar a Seedance, Kling, MiniMax Hailuo H3 y Wan 3.0 desde fuera de China sin abrir una cuenta en cada plataforma china. HopBase los ofrece todos detrás de una sola API key, una sola URL base (https://api.hop-base.com) y facturación en USD. Seedance, Kling y Hailuo comparten el mismo patrón asíncrono: POST /v1/video/generate para enviar la tarea y GET /v1/video/tasks/{task_id} para consultarla hasta que el estado sea completed o failed. Wan 3.0 y HappyHorse conservan su formato de solicitud original en sus rutas originales, por lo que el código existente con su SDK solo necesita una nueva URL base y una nueva clave. El cuerpo de cada solicitud sigue el esquema propio de cada familia de modelos, así que lo único compartido es el ciclo de envío y consulta. Las tareas fallidas no se cobran, los enlaces de resultado son válidos durante 24 horas y el cargo real en USD de cada tarea terminada se devuelve en usage.cost_usd. Seedance tiene dos conjuntos de IDs: internacional (dreamina-seedance-*) y China (doubao-seedance-*-a).
Por qué es complicado acceder a los modelos de video chinos desde el extranjero
Una parte desproporcionada de los modelos de video más potentes de 2026 son chinos: Seedance de ByteDance, Kling de Kuaishou, Hailuo de MiniMax y Wan de Alibaba. Si está creando un producto de video en Estados Unidos, Europa o el Sudeste Asiático, obtener acceso por API a todos ellos no es un solo registro, sino cuatro proyectos distintos:
- Plataformas regionales separadas. ByteDance opera Volcano Engine para China continental y BytePlus para clientes internacionales, y el catálogo de modelos, los IDs y las fechas de lanzamiento difieren entre ambas. Kling, MiniMax y Alibaba también tienen cada uno su propia consola para desarrolladores.
- Verificación de cuenta y pago. Las consolas de la región de China suelen exigir verificación de identidad con nombre real y métodos de pago en CNY. Las consolas internacionales son más sencillas, pero cada una sigue siendo un contrato, un saldo de recarga y una factura aparte.
- Cuatro esquemas de solicitud. Seedance usa un arreglo
content[], Kling usaprompt+images[]+videos[], Hailuo H3 usa el cuerpo v2 de MiniMax (también un arreglocontent[], pero con reglas distintas) y Wan usa la estructurainput/parametersde DashScope. La consulta del estado, los formatos de error y la vigencia de los enlaces de resultado también difieren. - Cuatro unidades de facturación. Seedance factura por millón de tokens de video; Kling, Hailuo y Wan facturan por segundo generado según el nivel de resolución. Comparar el costo por clip implica normalizarlos todos por su cuenta.
Un gateway no cambia los modelos. Elimina el trabajo de cuentas, pagos y consulta de tareas, de modo que su código trabaja con una clave, un saldo y un ciclo de tareas.
Qué modelos puede llamar y a qué precio de lista
La tabla siguiente enumera las familias disponibles hoy. Cuando nuestra página de precios muestra un precio de lista en USD, se incluye; para las demás, consulte los precios vigentes. Su tarifa propia se muestra en el catálogo de modelos tras iniciar sesión, y cada tarea informa su cargo real.
| Familia | IDs de modelo de ejemplo | Salida | Unidad de facturación | Precio de lista de entrada |
|---|---|---|---|---|
| Seedance 2.5 / 2.0 (ByteDance) | dreamina-seedance-2-5-260628, dreamina-seedance-2-0-260128, dreamina-seedance-2-0-fast-260128, dreamina-seedance-2-0-mini-260615 | 480p-1080p (1080p en la versión internacional 2.5 depende de su grupo); 4K solo en 2.0 Standard internacional; 2.0: 4-15 s, 2.5: 4-30 s | Por 1M de tokens de video | 2.0 Mini: $3.50 / 1M tokens (sin entrada de video) |
| Kling (Kuaishou) | kling-v3, kling-v3-omni, kling-v3-turbo, kling-v2-5-turbo | 720p-4K según el modelo; 3-15 s en v3 | Por segundo | Consulte los precios vigentes |
| Hailuo H3 (MiniMax) | MiniMax-H3, MiniMax-H3-Max | H3: 768P / 2K, 4-15 s; H3-Max: 480P / 768P, 5-15 s | Por segundo | MiniMax-H3-Max 480P: $0.05 / s |
| Wan 3.0 / HappyHorse 1.1 (Alibaba) | wan3.0-video, happyhorse-1.1-t2v, -i2v, -r2v | 480P-1080P | Por segundo | Consulte los precios vigentes |
Dos ejemplos calculados a precio de lista: un clip de 6 segundos en 768P con MiniMax-H3 cuesta 6 × $0.08 = $0.48, y un clip de 5 segundos en 480P con MiniMax-H3-Max cuesta 5 × $0.05 = $0.25. El costo de Seedance depende de la resolución, la duración y de si se envía un video de referencia, por lo que se recomienda revisar la guía de Seedance y los precios vigentes antes de presupuestar a escala.
Paso 1: una clave, varios grupos de video
Regístrese en api.hop-base.com, abra API Keys y cree una clave. Cada familia de modelos está en su propio grupo, y una clave puede incluir hasta 10 grupos, así que puede añadir Seedance, Kling, Hailuo y Wan a la misma clave. Después, confirme a qué puede acceder la clave:
export HOPBASE_API_KEY=sk-your-key
curl https://api.hop-base.com/v1/models \
-H "Authorization: Bearer $HOPBASE_API_KEY"
Use solo los IDs que devuelva esta llamada. Los IDs de modelo deben coincidir exactamente: un nombre desconocido se rechaza y nunca se enruta a un modelo parecido.
Paso 2: enviar una tarea (tres esquemas, un endpoint)
Seedance 2.5 (internacional)
curl https://api.hop-base.com/v1/video/generate \
-H "Authorization: Bearer $HOPBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "dreamina-seedance-2-5-260628",
"content": [{"type": "text", "text": "A barista pours latte art in a sunlit cafe, slow push-in"}],
"duration": 5,
"resolution": "720p",
"ratio": "16:9",
"generate_audio": false
}'
Kling v3
curl https://api.hop-base.com/v1/video/generate \
-H "Authorization: Bearer $HOPBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-v3",
"prompt": "A red sneaker rotates on a white turntable, studio lighting",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "9:16"
}'
Hailuo H3
curl https://api.hop-base.com/v1/video/generate \
-H "Authorization: Bearer $HOPBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-H3",
"content": [{"type": "text", "text": "Aerial drone shot over snow mountains above a sea of clouds"}],
"resolution": "768P",
"duration": 6,
"ratio": "16:9"
}'
Use los nombres de campo propios de cada familia. Kling y Hailuo rechazan con un 400 los campos al estilo OpenAI, como size o n, antes de crear ninguna tarea, y no se cobra nada. Seedance es la excepción a vigilar: size, seconds, n y aspect_ratio se ignoran sin error, y la tarea se ejecuta con la duración predeterminada y en 720p, así que envíe siempre duration, resolution y ratio. Wan 3.0 y HappyHorse usan POST /api/v1/services/aigc/video-generation/video-synthesis con input y parameters, y se consultan en GET /api/v1/tasks/{task_id}; consulte la guía de Wan y HappyHorse.
Paso 3: un solo ciclo de consulta para todos
Las respuestas de Seedance envuelven la tarea en un objeto task, mientras que Kling y Hailuo devuelven los campos en el nivel superior. Los estados intermedios difieren (pending / processing en Seedance, queued / processing en Kling y Hailuo), pero los dos estados finales son los mismos en todos: completed y failed. Una pequeña función auxiliar absorbe la diferencia:
import os, time, requests
BASE = "https://api.hop-base.com"
HEADERS = {"Authorization": f"Bearer {os.environ['HOPBASE_API_KEY']}"}
def submit(body: dict) -> str:
r = requests.post(f"{BASE}/v1/video/generate", json=body, headers=HEADERS, timeout=60)
r.raise_for_status() # Seedance returns 200, Kling and Hailuo return 202
data = r.json()
return data.get("task", data)["id"]
def wait(task_id: str, every: int = 5) -> dict:
while True:
r = requests.get(f"{BASE}/v1/video/tasks/{task_id}", headers=HEADERS, timeout=30)
r.raise_for_status()
data = r.json()
task = data.get("task", data)
if task.get("status") in ("completed", "failed"):
return data
time.sleep(every)
task_id = submit({
"model": "kling-v3",
"prompt": "A red sneaker rotates on a white turntable, studio lighting",
"duration": 5, "resolution": "720p", "aspect_ratio": "9:16",
})
result = wait(task_id)
task = result.get("task", result)
print(task["status"], task.get("outputs"))
print("charged (USD):", result.get("usage", {}).get("cost_usd"))
Ejecutamos exactamente esta función el 2026-10-29 contra kling-v2-5-turbo, MiniMax-H3-Max y dreamina-seedance-2-0-mini-260615 sin cambios por familia: las tres tareas se completaron e imprimieron su cargo desde usage.cost_usd, que está en el nivel superior de la respuesta en todas las familias. La consulta del estado es gratuita y no cuenta para su límite de concurrencia. Descargue los resultados cuanto antes: cada enlace de resultado es una URL firmada en api.hop-base.com, válida durante 24 horas después de completarse la tarea, y un enlace caducado devuelve 410.
IDs de Seedance internacional frente a China
Seedance es la única familia con dos conjuntos de IDs:
- Internacional:
dreamina-seedance-2-5-260628,dreamina-seedance-2-0-260128,-fast-260128,-mini-260615. El modelo 2.0 Standard es la única opción de Seedance con salida 4K. - China:
doubao-seedance-2-5-260628-a,doubao-seedance-2-0-260128-a,-fast-260128-a,-mini-260615-a. No tienen nivel 4K y requieren una clave que incluya el grupo Seedance China: una clave que solo tenga el grupo internacional no puede llamar a los IDsdoubao-*.
El formato de solicitud, los endpoints y el código de consulta son los mismos, así que cambiar consiste en cambiar la clave y el ID del modelo. Los recursos de referencia no se pueden reutilizar entre grupos, por lo que debe volver a subirlos con la otra clave.
Detalles que le cuestan un día a los equipos
- Imágenes de referencia de personas reales en Seedance. Una imagen de una persona real enviada en línea (URL o data URL) puede rechazarse en el envío con
input_sensitive, y no se cobra nada. En Seedance 2.0, súbala primero conPOST /v1/sd/assetsy referénciela comoasset://<id>. Seedance 2.5 no tiene ruta de recursos, por lo que todavía no admite imágenes de referencia de personas reales. - El saldo se reserva en el envío. Cada envío de video reserva su costo estimado. Un saldo positivo puede igualmente devolver 402
insufficient_balancecuando hay varias tareas grandes en curso. La reserva se libera cuando termina la tarea. - La concurrencia es por cuenta. El valor predeterminado es de 5 solicitudes en curso, y las solicitudes adicionales reciben 429 de inmediato en lugar de esperar en una cola. Los envíos de video cuentan; las consultas no.
- Tiempos de espera. Las tareas no terminadas fallan automáticamente tras 24 horas en Seedance y tras 2 horas en Kling, Hailuo y Wan. Las tareas fallidas no se cobran.
- No reenvíe una tarea lenta para reintentarla. Las tareas no se pueden cancelar, y cada envío aceptado es una tarea independiente que se cobra. Siga consultando el ID que ya tiene.
Cómo elegir la vía de acceso
Ir directamente a la plataforma internacional de cada fabricante tiene sentido si solo necesita una familia y prefiere tratar directamente con ese proveedor. Si necesita varias, compare las opciones con datos que pueda verificar:
- ¿Aparecen las versiones exactas de los modelos que necesita, con IDs exactos (por ejemplo, Seedance 2.5 y Kling v3)?
- ¿Una tarea fallida no cuesta nada, y puede leer el cargo real de cada tarea a través de la API?
- ¿Cuánto duran los enlaces de resultado y qué ocurre cuando caducan?
- ¿Una sola clave puede cubrir varias familias con un solo saldo, y puede limitar el gasto por clave?
- ¿Hay documentación de los límites de parámetros de cada familia, y no solo una ficha del modelo?
Preguntas frecuentes
¿Puedo usar Seedance desde Estados Unidos o Europa sin una cuenta de BytePlus o Volcano Engine?
Sí. Con una clave de HopBase que incluya el grupo Seedance internacional, puede llamar a dreamina-seedance-2-5-260628 y a los demás IDs internacionales en https://api.hop-base.com/v1/video/generate. No necesita una cuenta de ByteDance.
¿Kling, Seedance y Hailuo usan el mismo cuerpo de solicitud?
No. Comparten el endpoint de envío, el endpoint de consulta y las reglas de facturación, pero cada familia conserva su propio cuerpo: Seedance usa content[] con ratio, Kling usa prompt/images/videos con aspect_ratio, y Hailuo H3 usa el cuerpo v2 de MiniMax.
¿Se cobra cuando un video falla?
No. Las tareas de video fallidas no se cobran, y las solicitudes rechazadas en el envío tampoco. En una tarea terminada, usage.cost_usd muestra 0 si se trata de un fallo sin cargo.
¿Durante cuánto tiempo están disponibles los videos generados?
Las URLs de resultado son válidas durante 24 horas desde que se completa la tarea, en todas las familias. Volver a consultar devuelve la misma URL sin extender su vigencia, así que copie los resultados a su propio almacenamiento.
¿Dónde veo el precio que realmente pagaré?
Los precios de lista están en hop-base.com/pricing. La tarifa de su cuenta aparece en el catálogo de modelos tras iniciar sesión, y cada tarea terminada informa su cargo real en usage.cost_usd. Las referencias completas de parámetros están en la documentación de descripción general de video, Kling, Seedance y MiniMax Hailuo.