ByteDance: Seedance 2.0 Mini
Seedance 2.0 Mini crea videos cortos con sonido generado opcional a partir de texto y referencias de imagen, video y audio. Admite creación de escenas, ediciones específicas y continuación de video, con un perfil de salida documentado de 480p o 720p.
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
Seedance 2.0 Mini es un modelo con nombre propio dentro de la familia audiovisual Seedance 2.0 de ByteDance. El fabricante documenta texto a video, imagen a video con primer fotograma o con primero y último, generación con referencias multimodales, edición y extensión de video. El sonido puede generarse junto con la imagen. Elige el modo según el material disponible: un encargo escrito, una imagen inicial fija, dos fotogramas límite o un clip que necesite edición o continuación.
Mini tiene su propio perfil de salida. El fabricante enumera video de 480p y 720p, color de 8 bits, 24 fotogramas por segundo y salida MP4. Las relaciones de aspecto compatibles son 21:9, 16:9, 4:3, 1:1, 3:4 y 9:16; la duración documentada es de 4–15 segundos. El control de duración también permite selección automática dentro de ese intervalo. Las opciones 1080p y 4K del modelo completo Seedance 2.0 son independientes; no son ajustes de Mini. La tabla de capacidades de la familia incluye devolver el último fotograma generado, mientras que el modo Draft no es compatible.
Omni reference crea una escena nueva utilizando información seleccionada del material proporcionado. Una imagen puede definir apariencia del sujeto, composición o tratamiento visual. Un video puede establecer acción, movimiento de cámara o un efecto; una referencia de audio puede definir timbre de voz, melodía o contenido hablado. Indica qué tomar de cada referencia en vez de pedir copiar todas sus propiedades. Por ejemplo, usa una fotografía de producto para forma y color, un clip breve de cámara para el acercamiento y una referencia sonora para la atmósfera.
El flujo de la familia permite hasta nueve imágenes, tres clips de video y tres de audio como referencias. Cada video dura 2–15 segundos, con un total máximo de 15 segundos; el audio tiene los mismos límites por clip y total. No se admiten las combinaciones de audio solo ni texto con audio sin referencia visual. La creación únicamente con texto es otro modo compatible. Para una secuencia, aporta recursos en el orden previsto y menciónalos de forma consistente como Image 1, Video 1 o Audio 1, siguiendo el orden dentro de cada tipo de medio. No sustituyas una referencia numerada por un identificador de recurso en la instrucción escrita.
Una imagen de primer fotograma define el inicio de una toma basada en imagen. El modo de primer y último fotograma define ambos límites. Si importan esas imágenes exactas, selecciona ese modo específico en vez de describir referencias como inicio y final dentro de una instrucción omni-reference. Esto último es un efecto dirigido por instrucciones y no equivale a elegir fotogramas límite estrictos. Prepara las imágenes para la composición de salida e indica la acción que conecta las situaciones inicial y final.
La edición de video modifica un clip existente en lugar de usarlo solo como inspiración. Identifica el video, el objeto o región a cambiar, su momento y posición de aparición y los detalles que conservar. Una instrucción útil es: «En Video 1, reemplaza la taza por el recipiente de Image 1; conserva el movimiento de la mano, el encuadre, la iluminación y la distribución de la mesa». Para eliminar algo, nombra el objeto no deseado y los elementos cercanos que deben permanecer. El fabricante aconseja referirse directamente al video objetivo al editar o extender; llamarlo referencia puede comunicar una solicitud de escena nueva.
La extensión añade eventos antes o después de un clip. Describe la dirección de continuación y lo que ocurre después o antes. El flujo documentado también puede conectar dos o tres clips con transiciones generadas; los tres videos de entrada juntos siguen sujetos al límite de referencia de 15 segundos. El tutorial distingue una continuación que incluye principalmente material de los límites del original de una solicitud que conserva expresamente el contenido original. Indica la composición deseada: solo la continuación o una escena que contenga el clip aportado y la nueva acción.
Para dirigir con claridad, separa la descripción estable de la escena de la secuencia de eventos. Define cada sujeto con dos o tres rasgos visuales distintivos y una etiqueta consistente. Después describe acciones, entorno, luz, movimiento de cámara, estilo y restricciones. En diálogo, vincula cada línea con su hablante y acción pertinente. Usa etiquetas de toma ordenadas en vez de tratar marcas de tiempo exactas como controles fiables: el fabricante señala que los tiempos precisos pueden ser inestables. Un encargo de producto por etapas podría decir: «Image 1 define el Producto A. Toma 1: acércate lentamente al Producto A sobre el mostrador. Toma 2: una mano lo gira hacia la luz. Toma 3: termina sobre la etiqueta frontal. Ambiente suave de habitación; conserva las letras impresas».
Prepara las referencias según las reglas de entrada documentadas de la familia. Los formatos de imagen incluyen JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC y HEIF; cada imagen pesa menos de 30 MB. La guía exige ancho y alto estrictamente entre 300 y 6,000 píxeles y relación de aspecto estrictamente entre 0.4 y 2.5. Los videos usan MP4 o MOV con video H.264 o H.265 y audio AAC o MP3, pesan como máximo 200 MB cada uno y tienen 24–60 fotogramas por segundo. Su ancho y alto son de 300–6,000 píxeles, la relación de aspecto de 0.4–2.5 y el número total de píxeles de 407,696–8,295,044. El audio usa WAV o MP3 y pesa como máximo 15 MB por clip. Son especificaciones de preparación del fabricante, distintas de los controles de carga de una aplicación concreta.
El flujo de retratos del fabricante requiere preparación específica para imágenes o videos con rostros humanos reales: las cargas directas como referencia no son la vía estándar compatible. Documenta por separado salidas de modelos confiables, personajes digitales predefinidos y un flujo autorizado de recursos de personas reales. También hay que revisar coincidencia de voz, pronunciación y sonido en los límites de clip. La guía recomienda describir las características de voz deseadas y mantener el estilo del diálogo cercano a la referencia de audio. Revisa consistencia del sujeto, palabras exactas, tiempos de acción, transiciones y audio final del recurso; ajusta el elemento concreto que difiera del encargo.
Ailoot Ultra · Video POST /v1/videos bytedance/seedance-2.0-mini
bytedance/seedance-2.0-miniInicio
Seedance 2.0 Mini crea videos cortos con sonido generado opcional a partir de texto y referencias de imagen, video y audio. Admite creación de escenas, ediciones específicas y continuación de video, con un perfil de salida documentado de 480p o 720p.
- Entradas aceptadas
- Texto · Imágenes · Audio
- Resultados
- Video
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Video POST /v1/videos
- Entrada
text,image,audio- Salida
video- Formato de salida
- bytes MP4 originales; sin normalización ni transcodificación
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites bytedance/seedance-2.0-mini | Predeterminado— |
Campoprompt | Tipostring | RequisitoObligatorio | Valores y límites | Predeterminado— |
Campoduration | Tipointeger | RequisitoObligatorio | Valores y límites 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Mínimo: 1 Máximo: 600 | Predeterminado— |
Camporesolution | Tipostring | RequisitoOpcional | Valores y límites 480p, 720p | Predeterminado— |
Campoaspect_ratio | Tipostring | RequisitoOpcional | Valores y límites 1:1, 3:4, 9:16, 4:3, 16:9, 21:9, 9:21 | Predeterminado— |
Campogenerate_audio | Tipoboolean | RequisitoOpcional | Valores y límites false, true Condiciones: Omitir generate_audio selecciona el precio con audio; false selecciona el precio sin audio. Revisa has_audio en el resultado para saber si se devolvió una pista de audio. | Predeterminado— |
Campoframe_images | Tipoarray | RequisitoOpcional | Valores y límites Número mínimo de elementos: 1 Número máximo de elementos: 2 Contenido de entrada: Arreglo de objetos de fotograma. Cada uno tiene type=image_url, image_url que contiene url y frame_type=first_frame o last_frame. Cada función puede aparecer como máximo una vez. Usa URL HTTPS públicas. Claves exactas: type, image_url, frame_type Condiciones: Estas claves se aplican a cada objeto de fotograma. Omite frame_images para una solicitud de solo texto. | Predeterminado— |
Campoinput_references | Tipoarray | RequisitoOpcional | Valores y límites Contenido de entrada: Arreglo de objetos de referencia de imagen o audio. Establece type en image_url o audio_url y proporciona el objeto URL correspondiente que contiene url. Las referencias de video siguen sin poder cotizarse. Condiciones: Omite frame_images para usar el modo de referencias. Usa URL HTTPS públicas. | Predeterminado— |
Camposize | Tipostring | RequisitoOpcional | Valores y límites 480x480, 480x640, 480x854, 640x480, 854x480, 1120x480, 720x720, 720x960, 720x1280, 720x1680, 960x720, 1280x720, 1680x720 Patrón: ^[1-9][0-9]*x[1-9][0-9]*$ | Predeterminado— |
Camposeed | Tipointeger | RequisitoOpcional | Valores y límites Mínimo: -9,223,372,036,854,775,808 Máximo: 9,223,372,036,854,775,807 | Predeterminado— |
Campocallback_url | Tipostring | RequisitoOpcional | Valores y límites Patrón: ^https:// | Predeterminado— |
Camposession_id | Tipostring | RequisitoOpcional | Valores y límites | Predeterminado— |
Campotrace | Tipoobject | RequisitoOpcional | Valores y límites | Predeterminado— |
Campouser | Tipostring | RequisitoOpcional | Valores y límites | Predeterminado— |
Combinaciones de materiales de entrada
Texto a video · Una instrucción escrita. · Obligatorio: model, prompt, duration
Proporciona una instrucción de texto y una duración compatible en segundos enteros. Usa un tamaño exacto de la lista o una resolución y relación de aspecto que correspondan a las dimensiones enumeradas.
model: Tipo: string · bytedance/seedance-2.0-mini
prompt: Tipo: string · Máximo de bytes UTF-8: 10,000 · Se requiere contenido distinto de espacios en blanco: Sí
Imagen a video · Una instrucción escrita y una imagen de fotograma. · Obligatorio: model, prompt, duration, frame_images
frame_images es un arreglo de objetos con type=image_url, image_url que contiene url y frame_type. Usa una URL HTTPS pública de imagen; first_frame y last_frame pueden aparecer una vez cada uno. Usa un tamaño de salida enumerado o dimensiones compatibles. No agregues referencias de video.
Claves exactas: type, image_url, frame_type
model: Tipo: string · bytedance/seedance-2.0-mini
prompt: Tipo: string · Máximo de bytes UTF-8: 10,000 · Se requiere contenido distinto de espacios en blanco: Sí
Reference to video · Una instrucción escrita y referencias de imagen o audio. · Obligatorio: model, prompt, duration, input_references
input_references es un arreglo. Cada objeto tiene type=image_url o type=audio_url y un objeto URL correspondiente que contiene url. Usa enlaces HTTPS públicos. Omite frame_images para seleccionar el modo de referencias. Las referencias de video no pueden cotizarse.
model: Tipo: string · bytedance/seedance-2.0-mini
prompt: Tipo: string · Máximo de bytes UTF-8: 10,000 · Se requiere contenido distinto de espacios en blanco: Sí
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, prompt, duration |
Parámetromaterial_types | Contratotext, image, audio |
Parámetroadditional_properties | Contratofalse |
Parámetrooptional_controls | Contratoresolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user |
Ciclo de vida: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Tarifas
Cómo se calcula el cargo definitivo
Las tarifas mostradas permiten estimar el costo antes de la generación. El cargo final se calcula a partir del costo registrado para la generación original. La duración medida de la salida y las cantidades estimadas no son la cantidad facturable final.
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Sin especificar Cuando se selecciona el modo fast
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
Tarifas estimadas para comparar
Precios por configuración
Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.
| Configuración | Tabla de tarifas | Cantidad prevista | Unidad de facturación | Condiciones de facturación | Cargo |
|---|---|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cantidad prevista— | Unidad de facturación— | Condiciones de facturación— | Cargo Entrada · Tokens de entrada · Estimación solo para comparar — / 1K tokens Salida · Tokens de salida · Estimación solo para comparar — / 1K tokens Entrada · Lectura de caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché, 1 hora · Estimación solo para comparar — / 1K tokens |
| ConfiguraciónPrecio por token de video | Tabla de tarifas— | Cantidad prevista— | Unidad de facturaciónpor 1K tokens de video | Condiciones de facturaciónNo se declara ninguna condición adicional en esta clave de precios. | Cargo Salida · Precio por token de video · Estimación solo para comparar $0.007 por 1K tokens de video La tarifa por tokens de video es la referencia principal de precio. Las estimaciones destacadas por segundo son referencias independientes, no un cargo adicional. |
| ConfiguraciónPrecio por token de video | Tabla de tarifas— | Cantidad prevista— | Unidad de facturaciónpor 1K tokens de video | Condiciones de facturaciónentrada: with_video_input | Cargo reference · Precio por token de video · Estimación solo para comparar $0.0042 por 1K tokens de video La tarifa por tokens de video es la referencia principal de precio. Las estimaciones destacadas por segundo son referencias independientes, no un cargo adicional. |
| ConfiguraciónPrecio por token de video | Tabla de tarifas— | Cantidad prevista— | Unidad de facturaciónpor 1K tokens de video | Condiciones de facturaciónconfiguración de audio: without_audio | Cargo Salida · Precio por token de video · Estimación solo para comparar $0.007 por 1K tokens de video La tarifa por tokens de video es la referencia principal de precio. Las estimaciones destacadas por segundo son referencias independientes, no un cargo adicional. |
| ConfiguraciónCosto estimado de generación | Tabla de tarifas— | Cantidad previstaestimación para una generación | Unidad de facturación— | Condiciones de facturación— | Cargo Salida · Costo estimado de generación · Estimación solo para comparar $0.1512 estimación previa a la generación Esta estimación no es un cargo adicional ni una tarifa fija por la generación completada. |
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Detalles de la tarifa de referencia
Las tablas de referencia del modelo no cambian la selección del método, las cotizaciones ni los cargos. Los cargos aplicados usan las tarifas del método Ailoot seleccionado.
Referencias de precios por configuración de video
Precios por configuración
Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.
| Configuración | Condiciones de facturación | Cargo |
|---|---|---|
| ConfiguraciónPrecio por token de video | Condiciones de facturaciónNo se declara ninguna condición adicional en esta clave de precios. | Cargo Salida · Precio por token de video $0.007 por 1K tokens de video La tarifa por tokens de video es la referencia principal de precio. Las estimaciones destacadas por segundo son referencias independientes, no un cargo adicional. |
| ConfiguraciónPrecio por token de video | Condiciones de facturaciónconfiguración de audio: without_audio | Cargo Salida · Precio por token de video $0.007 por 1K tokens de video La tarifa por tokens de video es la referencia principal de precio. Las estimaciones destacadas por segundo son referencias independientes, no un cargo adicional. |
| ConfiguraciónPrecio por token de video | Condiciones de facturaciónentrada: with_video_input | Cargo reference · Precio por token de video $0.0042 por 1K tokens de video La tarifa por tokens de video es la referencia principal de precio. Las estimaciones destacadas por segundo son referencias independientes, no un cargo adicional. |
Solicitudes de ejemplo
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"model":"bytedance/seedance-2.0-mini","prompt":"A serene mountain landscape at sunset","duration":4,"resolution":"480p","size":"480x480","generate_audio":false}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Recibir y guardar resultados
Ailoot Ultra · Video
URL firmadas de contenido que te pertenece
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Consultar el estado de la tarea
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Otras consultas de contenido
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Conserva todos los resultados completados
Guarda todos los videos completados o archivos recibidos; descarga cada URL de archivo que se haya devuelto.
Conserva cada salida real que te pertenezca y los metadatos medidos que se devuelvan con ella.
Si es necesario revisar la respuesta original
503 result_pending_check + id original + X-Should-Retry:false; nunca repitas el envío original
Campos de respuesta
| Campo | Tipo | Significado |
|---|---|---|
Campoindex | Tipointeger | SignificadoPosición de este video en la lista de salidas, con índice que comienza en cero. |
Campocontent_url | Tipostring | SignificadoURL HTTPS firmada de descarga de este video completado. |
Camposha256 | Tipostring | null | SignificadoResumen SHA-256 de los bytes del video original; null si no está disponible. |
Camposize_bytes | Tipointeger | null | SignificadoTamaño del archivo de video original en bytes; null si no está disponible. |
Campoduration_ms | Tipointeger | null | SignificadoDuración medida del video en milisegundos; null si no está disponible. |
Campowidth | Tipointeger | null | SignificadoAncho del video en píxeles; null si no está disponible. |
Campoheight | Tipointeger | null | SignificadoAlto del video en píxeles; null si no está disponible. |
Campovideo_codec | Tipostring | null | SignificadoIdentificador del códec de video; null si no se registró. |
Campohas_audio | Tipoboolean | null | SignificadoIndica si el video contiene una pista de audio; null si no se midió. |
Campoaudio_codec | Tipostring | null | SignificadoIdentificador del códec de audio; null cuando no se registra ningún identificador. |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta404 · not_found_error | CondiciónEl acceso al video no está disponible o no se encontró este ID de video. | Siguiente pasoVerifica el acceso al video. Para un video existente, usa su ID público original y la misma clave API. |
Respuesta401 · authentication_error | CondiciónLa clave API no coincide con la cuenta autenticada. | Siguiente pasoRevisa tu clave API y el acceso de tu cuenta antes de enviar. |
Respuesta400 · invalid_request_error | CondiciónNo se pudo leer la solicitud o el índice de descarga no es válido. | Siguiente pasoCorrige el cuerpo de la solicitud. Para una descarga, elige un índice de salida devuelto por la tarea original. |
Respuesta422 · price_unavailable | CondiciónNo se puede cotizar la configuración de video seleccionada. | Siguiente pasoElige una configuración de video compatible y completa sus opciones obligatorias antes de enviar una solicitud corregida. |
Respuesta422 · invalid_request_error | CondiciónUna entrada de video o la tarea original de continuación no es válida. | Siguiente pasoUsa entradas HTTPS válidas. Para una continuación, usa el ID público de tu video original completado con la misma clave API. |
Respuesta402 · billing_error | CondiciónEl saldo disponible o los límites no permiten reservar fondos. | Siguiente pasoRevisa tu saldo disponible y tus límites antes de enviar una solicitud nueva. |
Respuesta503 · server_error | CondiciónLa verificación del video, el almacenamiento o el acceso al servicio no están disponibles temporalmente. | Siguiente pasoEspera a que el servicio esté disponible. Si ya tienes un ID de video, consulta esa tarea original en lugar de crear otra generación. |
Respuesta503 · result_pending_check | CondiciónEl resultado y el cargo del video original requieren verificación. | Siguiente pasoConserva el ID de video devuelto y consulta esa tarea. No envíes una solicitud de generación de reemplazo mientras se verifica. |
Respuesta503 · owned_result_unavailable | CondiciónLa descarga del video existente no está disponible temporalmente. | Siguiente pasoConsulta más tarde la misma tarea de video y descarga su salida existente. Una generación nueva crea una operación independiente. |
Respuesta409 · video_not_ready | CondiciónEl contenido del video no se ha publicado. | Siguiente pasoConsulta el estado de la tarea original. Descarga cuando indique completed; si indica failed, sigue su aviso de verificación del cargo. |
Alias
Alias del modelo
Ailoot Ultra bytedance/seedance-2.0-mini
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · ByteDance: Seedance 2.0 Mini
- ¿Qué entradas y resultados están disponibles?
POST /v1/videos·bytedance/seedance-2.0-mini:text,image,audio→video- ¿Qué campos utiliza la solicitud?
POST /v1/videos·bytedance/seedance-2.0-mini:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,seed,callback_url,session_id,trace,user- ¿Qué límites se aplican?
POST /v1/videos·bytedance/seedance-2.0-mini:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1;seed.minimum:-9223372036854775808;seed.maximum:9223372036854775807