Seedance 2.5 YA ESTÁ AQUÍ · Nano Banana 2 Y GPT Image 2.5 ILIMITADOS HASTA EL 15 de noviembreMejorar
  • Logo Picasso IALogo Picasso IA
  • Inicio
  • Imagen
  • Video
  • Música
  • Voz
  • Chat
  • 3D
  • Influencer IANEW
  • AI ToolkitNEW
  • SupercomputerNEW
  • APINEW
  • MCPNEW
  • Generaciones
  • Facturación
  • Soporte
  • Cuenta
Saltar al Contenido
  • Explorar
  • Imagen
  • Video
  • Chat
  • Ilimitados
  • Editar Video
  • Lipsync
  • Mejorar
  • Música
  • Voz
  • Transcribir
  • 3D
  • Escalar
  • Quitar Fondo
Crea GratisEmpieza Gratis YaNuevoCrearEmpieza a CrearPreciosPrecios80% OFF
Crea GratisStart Freeابدأ مجانًاCrie GrátisEssai Gratuitमुफ़्त शुरूEmpieza Gratis YaStart Free Nowابدأ مجانًا الآنComece Grátis JáCommencer Gratuitementअभी मुफ़्त शुरू करेंNuevoNewجديدNovoNouveauनयाCrearCreateإنشاءCriarCréerबनाएंEmpieza a CrearStart Creatingابدأ الإنشاءComece a CriarCommencer à Créerबनाना शुरू करेंPreciosPricingالأسعارPreçosTarifsमूल्यPreciosPricingالأسعارPreçosTarifsमूल्य80% OFF
  • ExplorarExploreاستكشافExplorarExplorerएक्सप्लोर
  • Inicio RápidoQuickstartالبدء السريعInício RápidoDémarrage Rapideत्वरित शुरुआत
  • DocumentaciónDocsالوثائقDocumentaçãoDocumentationडॉक्स
  • PreciosPricingالأسعارPreçosTarifsकीमत
  • Claves de APIAPI Keysمفاتيح APIChaves de APIClés APIAPI कुंजियाँ
  • MCPMCPخادم MCPMCPMCPMCP
  1. ExplorarExploreاستكشافExplorarExplorerएक्सप्लोर
  2. VídeoVideoالفيديوVídeoVidéoवीडियो
  3. Seedance 2.5 LiteSeedance 2.5 LiteSeedance 2.5 LiteSeedance 2.5 LiteSeedance 2.5 LiteSeedance 2.5 Lite
  4. Referencia de la APIAPI Referenceمرجع APIReferência da APIRéférence de l'APIAPI संदर्भ
IlimitadoUnlimitedغير محدودIlimitadoIllimitéअसीमितVídeoVideoالفيديوVídeoVidéoवीडियो
$0$0$0$0$0$0
/ ejecución/ run/ تشغيل/ execução/ requête/ रन
desde ~$0.2205/s en otras APIsfrom ~$0.2205/s elsewhereابتداءً من ⁦~$0.2205⁩/ثانية لدى الآخرينa partir de ~$0.2205/s em outros provedoresà partir de ~$0.2205/s ailleursदूसरी जगह ~$0.2205/⁠सेकंड से शुरू
Referencia de la API de Seedance 2.5 LiteSeedance 2.5 Lite API Referenceمرجع واجهة Seedance 2.5 Lite APIReferência da API do Seedance 2.5 LiteRéférence de l'API Seedance 2.5 LiteSeedance 2.5 Lite API संदर्भ
Texto a VídeoText to Videoتحويل النص إلى فيديوTexto para VídeoTexte vers Vidéoटेक्स्ट से वीडियो
Texto e imagen a vídeo con audio, clips de 5, 10 o 15 segundos y salida en 480p o 720p.Text and image to video with audio, clips of 5, 10 or 15 seconds and 480p or 720p output.تحويل النص والصورة إلى فيديو مع الصوت ومقاطع مدتها 5 أو 10 أو 15 ثانية ودقة 480p أو 720p.Texto e imagem para vídeo com áudio, clipes de 5, 10 ou 15 segundos e saída em 480p ou 720p.Texte et image vers vidéo avec audio, des clips de 5, 10 ou 15 secondes et une sortie en 480p ou 720p.टेक्स्ट और इमेज से वीडियो: ऑडियो, 5, 10 या 15 सेकंड की क्लिप और 480p या 720p आउटपुट।
Copiar Prompt para AgenteCopy Agent Promptنسخ موجّه الوكيلCopiar Prompt para AgenteCopier le Prompt pour l'Agentएजेंट प्रॉम्प्ट कॉपी करें
Ver DocumentaciónView Docsعرض الوثائقVer DocumentaçãoVoir la Documentationडॉक्स देखें
cURLcURLcURLcURLcURLcURL
Copiar para AgenteCopy for Agentنسخ للوكيلCopiar para AgenteCopier pour l'Agentएजेंट के लिए कॉपी करें
PlaygroundPlaygroundمساحة التجربةPlaygroundPlaygroundप्लेग्राउंड
APIAPIواجهة APIAPIAPIAPI
En Esta PáginaOn This Pageفي هذه الصفحةNesta PáginaSur cette Pageइस पेज पर
Cómo Llamar a la APICalling the APIاستدعاء APIComo Chamar a APIAppeler l'APIAPI को कॉल करना
En Esta PáginaOn This Pageفي هذه الصفحةNesta PáginaSur cette Pageइस पेज पर
cURLcURLcURLcURLcURLcURL
  • Cómo Llamar a la APICalling the APIاستدعاء APIComo Chamar a APIAppeler l'APIAPI को कॉल करना
  • ConfiguraciónSetupالإعدادConfiguraçãoConfigurationसेटअप
  • Parámetros de la PeticiónRequest Parametersمعاملات الطلبParâmetros da RequisiçãoParamètres de la Requêteरिक्वेस्ट पैरामीटर
  • ModosModesالأوضاعModosModesमोड
  • Petición de EjemploExample Requestمثال على الطلبRequisição de ExemploExemple de Requêteउदाहरण रिक्वेस्ट
  • AutenticaciónAuthenticationالمصادقةAutenticaçãoAuthentificationप्रमाणीकरण
  • Cola y SondeoQueue and Pollingقائمة الانتظار والاستعلام الدوريFila e Consulta PeriódicaFile d'Attente et Interrogationकतार और पोलिंग
  • EnvíoSubmitالإرسالEnviarEnvoiभेजना
  • SondeoPollالاستعلامConsultarInterrogationपोल करना
  • ResultadoResultالنتيجةResultadoRésultatनतीजा
  • CancelaciónCancelالإلغاءCancelarAnnulationरद्द करना
  • SalidaOutputالمخرجاتSaídaSortieआउटपुट
  • Errores y LímitesErrors and Limitsالأخطاء والحدودErros e LimitesErreurs et Limitesत्रुटियाँ और सीमाएँ
  • PreciosPricingالأسعارPreçosTarifsकीमत
  • JSON SchemaJSON Schemaمخطط JSON SchemaJSON SchemaJSON SchemaJSON Schema

Seedance 2.5 Lite usa el ID de modelo picassoia/seedance-2.5-lite. Texto e imagen a vídeo con audio, clips de 5, 10 o 15 segundos y salida en 480p o 720p.

Cómo Llamar a la API

Envía las peticiones a https://api.picassoia.com/v1/models/picassoia/seedance-2.5-lite/predictions con un cuerpo JSON cuyo input coincida con los parámetros de abajo.

Configuración

Guarda tu API key en tu servidor, en una variable de entorno, y envíala en la cabecera Authorization de cada petición.

Shell
1export PICASSOIA_API_KEY="pia_sk_…"

Seedance 2.5 Lite uses the model ID picassoia/seedance-2.5-lite. Text and image to video with audio, clips of 5, 10 or 15 seconds and 480p or 720p output.

Calling the API

Send requests to https://api.picassoia.com/v1/models/picassoia/seedance-2.5-lite/predictions with a JSON body whose input matches the parameters below.

Setup

Keep your API key on your server, in an environment variable, and send it in the Authorization header of every request.

Shell
1export PICASSOIA_API_KEY="pia_sk_…"

يستخدم Seedance 2.5 Lite معرّف النموذج picassoia/seedance-2.5-lite. تحويل النص والصورة إلى فيديو مع الصوت ومقاطع مدتها 5 أو 10 أو 15 ثانية ودقة 480p أو 720p.

استدعاء API

أرسل الطلبات إلى https://api.picassoia.com/v1/models/picassoia/seedance-2.5-lite/predictions بجسم JSON يتوافق فيه الكائن input مع المعاملات أدناه.

الإعداد

احتفظ بمفتاح API على خادمك، في متغير بيئة، وأرسله في ترويسة Authorization مع كل طلب.

Shell
1export PICASSOIA_API_KEY="pia_sk_…"

O Seedance 2.5 Lite usa o ID de modelo picassoia/seedance-2.5-lite. Texto e imagem para vídeo com áudio, clipes de 5, 10 ou 15 segundos e saída em 480p ou 720p.

Como Chamar a API

Envie requisições para https://api.picassoia.com/v1/models/picassoia/seedance-2.5-lite/predictions com um corpo JSON cujo input siga os parâmetros abaixo.

Configuração

Guarde sua API key no seu servidor, em uma variável de ambiente, e envie-a no cabeçalho Authorization de cada requisição.

Shell
1export PICASSOIA_API_KEY="pia_sk_…"

Seedance 2.5 Lite utilise l'identifiant de modèle picassoia/seedance-2.5-lite. Texte et image vers vidéo avec audio, des clips de 5, 10 ou 15 secondes et une sortie en 480p ou 720p.

Appeler l'API

Envoyez vos requêtes à https://api.picassoia.com/v1/models/picassoia/seedance-2.5-lite/predictions avec un corps JSON dont l'objet input correspond aux paramètres ci-dessous.

Configuration

Gardez votre API key sur votre serveur, dans une variable d'environnement, et envoyez-la dans l'en-tête Authorization de chaque requête.

Shell
1export PICASSOIA_API_KEY="pia_sk_…"

Seedance 2.5 Lite का मॉडल ID picassoia/seedance-2.5-lite है। टेक्स्ट और इमेज से वीडियो: ऑडियो, 5, 10 या 15 सेकंड की क्लिप और 480p या 720p आउटपुट।

API को कॉल करना

https://api.picassoia.com/v1/models/picassoia/seedance-2.5-lite/predictions पर ऐसी JSON बॉडी के साथ रिक्वेस्ट भेजें जिसका input नीचे दिए गए पैरामीटर से मेल खाता हो।

सेटअप

अपनी API key अपने सर्वर पर किसी एनवायरनमेंट वेरिएबल में रखें, और उसे हर रिक्वेस्ट के Authorization हेडर में भेजें।

Shell
1export PICASSOIA_API_KEY="pia_sk_…"
  • Inicio
  • Toolkit
  • Biblioteca
  • Cuenta
Crea GratisEmpieza Gratis YaNuevoCrearEmpieza a CrearPreciosPrecios80% OFF
  • Explorar
  • Inicio Rápido
  • Documentación
  • Precios
  • Claves de API
  • MCP
  1. Explorar
  2. Vídeo
  3. PicassoIA Reference To Video
  4. Referencia de la API
IlimitadoVídeo$0 por petición con el plan Infinite$0/ ejecución

Referencia de la API de PicassoIA Reference To Video

Referencia a Vídeo

Referencia a vídeo con audio, clips de 1 a 15 segundos y salida en 480p o 720p.

Ver Documentación
1
2
3
4curl -s -X POST https://api.picassoia.com/v1/models/picassoia/picassoia-reference-to-video/predictions \
  -H "Authorization: Bearer $PICASSOIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"prompt":"Image 1, the woman with red hair, walks into Image 2, the cafe, and sits by the window. Soft cafe ambience.","images":["https://example.com/woman.jpg","https://example.com/cafe.jpg"],"resolution":"720p"}}'
PlaygroundAPI

En Esta Página

  • 1.Cómo Llamar a la API
  • Configuración
  • Parámetros de la Petición
  • Modos
  • Petición de Ejemplo
  • 2.Autenticación
  • 3.Cola y Sondeo
  • Envío
  • Sondeo
  • Resultado
  • Cancelación
  • 4.Salida
  • 5.Errores y Límites
  • 6.Precios
  • 7.JSON Schema

PicassoIA Reference To Video usa el ID de modelo picassoia/picassoia-reference-to-video. Referencia a vídeo con audio, clips de 1 a 15 segundos y salida en 480p o 720p.

Cómo Llamar a la API

Envía las peticiones a https://api.picassoia.com/v1/models/picassoia/picassoia-reference-to-video/predictions con un cuerpo JSON cuyo input coincida con los parámetros de abajo.

Configuración

Guarda tu API key en tu servidor, en una variable de entorno, y envíala en la cabecera Authorization de cada petición.

Shell
1export PICASSOIA_API_KEY="pia_sk_…"

Parámetros de la Petición

promptstringObligatorio
Por DefectoNinguno
Lo que debe mostrar el resultado. Hasta 8000 caracteres.
imagesarray
Por DefectoNinguno
Las imágenes que quieres editar o combinar. Refiérete a ellas en el prompt como image 1, image 2, etc. De 1 a 9 imágenes. Se requiere al menos uno de estos campos: images o video. Una imagen PNG, JPEG o WebP, como URL https pública o como data URL de hasta 5 MB.
videostring
Por DefectoNinguno
El vídeo del que partir. Se requiere al menos uno de estos campos: images o video. Un vídeo MP4, MOV o WebM de hasta 50 MB, como URL https pública.
audiostring
Por DefectoNinguno
El audio del que partir. Un archivo MP3, WAV, M4A, AAC, OGG o FLAC de hasta 20 MB, como URL https pública.
resolutionstring
Por Defecto"480p"
El tamaño del resultado. Opciones: 480p y 720p.
durationinteger
Por Defecto5
La duración del clip, en segundos. De 1 a 15.
aspect_ratiostring
Por Defecto"match_input_image" / "16:9"
La forma del resultado. Cuando match_input_image es una de las opciones, conserva las proporciones de la imagen de entrada, o de la primera si hay varias. Opciones: match_input_image, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3 y 1:1. Si no lo envías: match_input_image cuando envías video, 16:9 cuando no.
video_strengthstring
Por Defecto"high"
Cuánto se ciñe el clip al vídeo de referencia. Opciones: high, medium y low. Requiere el campo video.
save_audioboolean
Por Defectotrue
Conserva la pista de audio generada.
seedinteger
Por DefectoNinguno
Fíjala para reproducir un resultado; omítela para obtener uno aleatorio.
enhance_promptboolean
Por Defectotrue
Picasso IA reescribe tu prompt para conseguir un mejor resultado. Tu prompt original se conserva en la entrada.
ParámetroTipoObligatorioPor DefectoDescripción
promptstringSíObligatorioNingunoLo que debe mostrar el resultado. Hasta 8000 caracteres.
imagesarrayNoNingunoLas imágenes que quieres editar o combinar. Refiérete a ellas en el prompt como image 1, image 2, etc. De 1 a 9 imágenes. Se requiere al menos uno de estos campos: images o video. Una imagen PNG, JPEG o WebP, como URL https pública o como data URL de hasta 5 MB.
videostringNoNingunoEl vídeo del que partir. Se requiere al menos uno de estos campos: images o video. Un vídeo MP4, MOV o WebM de hasta 50 MB, como URL https pública.
audiostringNoNingunoEl audio del que partir. Un archivo MP3, WAV, M4A, AAC, OGG o FLAC de hasta 20 MB, como URL https pública.
resolutionstringNo"480p"El tamaño del resultado. Opciones: 480p y 720p.
durationintegerNo5La duración del clip, en segundos. De 1 a 15.
aspect_ratiostringNo"match_input_image" / "16:9"La forma del resultado. Cuando match_input_image es una de las opciones, conserva las proporciones de la imagen de entrada, o de la primera si hay varias. Opciones: match_input_image, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3 y 1:1. Si no lo envías: match_input_image cuando envías video, 16:9 cuando no.
video_strengthstringNo"high"Cuánto se ciñe el clip al vídeo de referencia. Opciones: high, medium y low. Requiere el campo video.
save_audiobooleanNotrueConserva la pista de audio generada.
seedintegerNoNingunoFíjala para reproducir un resultado; omítela para obtener uno aleatorio.
enhance_promptbooleanNotruePicasso IA reescribe tu prompt para conseguir un mejor resultado. Tu prompt original se conserva en la entrada.

Modos

El modo depende de los archivos que envíes con el prompt, si envías alguno. Todos los modos usan el mismo endpoint.

ModosArchivos
Referencia a Vídeoimagesvideoaudio

Petición de Ejemplo

Referencia a Vídeo

cURL
1
2
3
4curl -s -X POST https://api.picassoia.com/v1/models/picassoia/picassoia-reference-to-video/predictions \
  -H "Authorization: Bearer $PICASSOIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"prompt":"Image 1, the woman with red hair, walks into Image 2, the cafe, and sits by the window. Soft cafe ambience.","images":["https://example.com/woman.jpg","https://example.com/cafe.jpg"]}}'
Node.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29const API = 'https://api.picassoia.com/v1'
const headers = {
  Authorization: `Bearer ${process.env.PICASSOIA_API_KEY}`,
  'Content-Type': 'application/json',
}
const sleep = (s) => new Promise((resolve) => setTimeout(resolve, s * 1000))

const input = {
  prompt: "Image 1, the woman with red hair, walks into Image 2, the cafe, and sits by the window. Soft cafe ambience.",
  images: [
    "https://example.com/woman.jpg",
    "https://example.com/cafe.jpg"
  ]
}

const created = await fetch(`${API}/models/picassoia/picassoia-reference-to-video/predictions`, {
  method: 'POST',
  headers,
  body: JSON.stringify({ input }),
})
let prediction = await created.json()
if (!created.ok) throw new Error(`${prediction.code}: ${prediction.detail}`)

while (!['succeeded', 'failed', 'canceled'].includes(prediction.status)) {
  await sleep(prediction.eta?.next_poll_in_seconds ?? 2)
  prediction = await (await fetch(prediction.urls.get, { headers })).json()
}
if (prediction.status !== 'succeeded') throw new Error(prediction.error ?? prediction.status)
console.log(prediction.output)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23import os, time, requests

API = "https://api.picassoia.com/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['PICASSOIA_API_KEY']}"}

payload = {"input": {
    "prompt": "Image 1, the woman with red hair, walks into Image 2, the cafe, and sits by the window. Soft cafe ambience.",
    "images": [
        "https://example.com/woman.jpg",
        "https://example.com/cafe.jpg",
    ],
}}

response = requests.post(f"{API}/models/picassoia/picassoia-reference-to-video/predictions", json=payload, headers=HEADERS)
prediction = response.json()
if not response.ok:
    raise RuntimeError(f"{prediction['code']}: {prediction['detail']}")
while prediction["status"] not in ("succeeded", "failed", "canceled"):
    time.sleep((prediction.get("eta") or {}).get("next_poll_in_seconds", 2))
    prediction = requests.get(prediction["urls"]["get"], headers=HEADERS).json()
if prediction["status"] != "succeeded":
    raise RuntimeError(prediction["error"] or prediction["status"])
print(prediction["output"])

Autenticación

Cada petición necesita una API key en la cabecera Authorization, como token Bearer. Crea las keys en tu cuenta; la key completa se muestra una sola vez.

HTTP
1Authorization: Bearer $PICASSOIA_API_KEY

Gestionar Claves de API

Cola y Sondeo

Cada predicción tiene tres pasos: crearla, consultarla hasta que termine y leer el resultado.

Envío

La API responde 201, normalmente en pocos segundos, con la predicción en el estado starting, una estimación en eta y la URL que hay que consultar en urls.get. Si la predicción falla de inmediato, por ejemplo cuando el filtro de seguridad rechaza la entrada, la respuesta sigue siendo 201, con la predicción en el estado failed y su error.

cURL
1
2
3
4curl -s -X POST https://api.picassoia.com/v1/models/picassoia/picassoia-reference-to-video/predictions \
  -H "Authorization: Bearer $PICASSOIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"prompt":"Image 1, the woman with red hair, walks into Image 2, the cafe, and sits by the window. Soft cafe ambience.","images":["https://example.com/woman.jpg","https://example.com/cafe.jpg"]}}'
Node.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21const API = 'https://api.picassoia.com/v1'
const headers = {
  Authorization: `Bearer ${process.env.PICASSOIA_API_KEY}`,
  'Content-Type': 'application/json',
}

const input = {
  prompt: "Image 1, the woman with red hair, walks into Image 2, the cafe, and sits by the window. Soft cafe ambience.",
  images: [
    "https://example.com/woman.jpg",
    "https://example.com/cafe.jpg"
  ]
}
const created = await fetch(`${API}/models/picassoia/picassoia-reference-to-video/predictions`, {
  method: 'POST',
  headers,
  body: JSON.stringify({ input }),
})
let prediction = await created.json()
if (!created.ok) throw new Error(`${prediction.code}: ${prediction.detail}`)
console.log(prediction.id, prediction.status) // api_…, starting
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17import os, requests

API = "https://api.picassoia.com/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['PICASSOIA_API_KEY']}"}

payload = {"input": {
    "prompt": "Image 1, the woman with red hair, walks into Image 2, the cafe, and sits by the window. Soft cafe ambience.",
    "images": [
        "https://example.com/woman.jpg",
        "https://example.com/cafe.jpg",
    ],
}}
response = requests.post(f"{API}/models/picassoia/picassoia-reference-to-video/predictions", json=payload, headers=HEADERS)
prediction = response.json()
if not response.ok:
    raise RuntimeError(f"{prediction['code']}: {prediction['detail']}")
print(prediction["id"], prediction["status"])  # api_…, starting
Respuesta · 201 Created
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33{
  "id": "api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60",
  "model": "picassoia/picassoia-reference-to-video",
  "input": {
    "prompt": "Image 1, the woman with red hair, walks into Image 2, the cafe, and sits by the window. Soft cafe ambience.",
    "images": [
      "https://example.com/woman.jpg",
      "https://example.com/cafe.jpg"
    ],
    "resolution": "480p",
    "duration": 5,
    "aspect_ratio": "16:9",
    "save_audio": true,
    "enhance_prompt": true
  },
  "output": null,
  "error": null,
  "status": "starting",
  "created_at": "2026-10-01T09:30:00.000Z",
  "started_at": null,
  "completed_at": null,
  "metrics": {
    "predict_time": null
  },
  "urls": {
    "get": "https://api.picassoia.com/v1/predictions/api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60",
    "cancel": "https://api.picassoia.com/v1/predictions/api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60/cancel"
  },
  "eta": {
    "seconds": 60,
    "next_poll_in_seconds": 30
  }
}

Sondeo

Vuelve a consultar urls.get pasados los segundos de eta.next_poll_in_seconds: a la mitad del tiempo estimado, al cumplirse la estimación y después cada 2 segundos.

cURL
1
2
3
4# Repeat after eta.next_poll_in_seconds until status is
# succeeded, failed or canceled.
curl -s https://api.picassoia.com/v1/predictions/api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60 \
  -H "Authorization: Bearer $PICASSOIA_API_KEY"
Node.js
1
2
3
4
5
6const sleep = (s) => new Promise((resolve) => setTimeout(resolve, s * 1000))

while (!['succeeded', 'failed', 'canceled'].includes(prediction.status)) {
  await sleep(prediction.eta?.next_poll_in_seconds ?? 2)
  prediction = await (await fetch(prediction.urls.get, { headers })).json()
}
Python
1
2
3
4
5import time

while prediction["status"] not in ("succeeded", "failed", "canceled"):
    time.sleep((prediction.get("eta") or {}).get("next_poll_in_seconds", 2))
    prediction = requests.get(prediction["urls"]["get"], headers=HEADERS).json()
Respuesta · 200 OK · en curso
1
2
3
4
5
6
7
8
9{
  "id": "api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60",
  "status": "processing",
  "output": null,
  "eta": {
    "seconds": 30,
    "next_poll_in_seconds": 30
  }
}

Resultado

Cuando status es succeeded, output contiene el resultado. Una predicción en failed indica el motivo en error, y una en canceled se detuvo antes de terminar. Los tres estados son definitivos.

cURL
1
2
3
4# The last poll holds the result: "output" when "status" is succeeded,
# "error" when it is failed. With jq, just those three fields:
curl -s https://api.picassoia.com/v1/predictions/api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60 \
  -H "Authorization: Bearer $PICASSOIA_API_KEY" | jq '.status, .output, .error'
Node.js
1
2if (prediction.status !== 'succeeded') throw new Error(prediction.error ?? prediction.status)
console.log(prediction.output)
Python
1
2
3if prediction["status"] != "succeeded":
    raise RuntimeError(prediction["error"] or prediction["status"])
print(prediction["output"])
Respuesta · 200 OK · terminada
1
2
3
4
5
6
7
8
9
10
11{
  "id": "api_3f9c2b7e8d1a4c6f9e0b1a2c3d4e5f60",
  "status": "succeeded",
  "output": "https://…/output.mp4",
  "error": null,
  "completed_at": "2026-10-01T09:30:54.000Z",
  "metrics": {
    "predict_time": 52.8
  },
  "eta": null
}

Cancelación

POST urls.cancel detiene una predicción que sigue en cola (de cualquier modelo) o una imagen que aún se está generando; un vídeo que ya se está generando responde 409 not_cancelable.

Los ID, tiempos y URL de estas respuestas son de ejemplo: tus respuestas traerán los suyos.

Salida

Cuando la predicción termina con éxito, output es la URL de un vídeo MP4.

Errores y Límites

Los errores llegan como problem details en JSON con un code estable, y un 422 enumera todos los campos con errores.

Límites

  • 5 predicciones en cola o en ejecución a la vez por cuenta
  • Cuerpo de la petición de hasta 10 MB; imágenes como data URL de hasta 5 MB cada una
  • Prompt de hasta 8000 caracteres
  • Los campos desconocidos se rechazan con 422 invalid_input
Todos los Códigos de Error

Precios

$0 por petición con un plan Infinite activo: las predicciones de la API no consumen créditos, sean cuales sean los ajustes.

Precios de la API

JSON Schema

El mismo esquema que sirve la API en GET /v1/models/picassoia/picassoia-reference-to-video.

JSON Schema
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96{
  "input_schema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "prompt": {
        "type": "string",
        "minLength": 1,
        "maxLength": 8000,
        "description": "What happens in the video and what is heard. Name the references: \"Image 1\", \"Video 1\", \"Audio 1\"."
      },
      "images": {
        "description": "Up to 9 reference images (characters, objects, places), in the order of \"Image 1\", \"Image 2\"… At least one image or a video is required.",
        "maxItems": 9,
        "type": "array",
        "items": {
          "type": "string",
          "description": "A reference image: an https URL or a data URL."
        }
      },
      "video": {
        "type": "string",
        "description": "Reference video: an https URL (MP4, MOV or WebM, up to 50 MB; its first 15 s are used). The clip follows its movement, camera and timing, keeps its sound unless an audio is sent, and lasts as long as the video, or duration if that is shorter. To put your own character in it, say who replaces whom (\"Image 1 replaces the woman in Video 1\") and what they do."
      },
      "audio": {
        "type": "string",
        "description": "Reference audio: an https URL (MP3, WAV, M4A, AAC, OGG or FLAC, up to 20 MB). A voice a character says with lip sync (\"Image 1 says Audio 1\"), or music. It is heard as it is. Lip sync is most exact in clips of up to 5 s."
      },
      "resolution": {
        "default": "480p",
        "description": "480p or 720p, both up to 15 s.",
        "type": "string",
        "enum": [
          "480p",
          "720p"
        ]
      },
      "duration": {
        "default": 5,
        "description": "Length in seconds.",
        "type": "integer",
        "minimum": 1,
        "maximum": 15
      },
      "aspect_ratio": {
        "description": "Default: 16:9, or the reference video's when there is one. match_input_image follows the video if there is one, otherwise the first image.",
        "type": "string",
        "enum": [
          "match_input_image",
          "16:9",
          "9:16",
          "4:3",
          "3:4",
          "3:2",
          "2:3",
          "1:1"
        ]
      },
      "video_strength": {
        "description": "Only with a video: how closely the clip follows it. high (the default) follows its camera, composition and timing most closely; medium and low follow it more loosely and render faster.",
        "type": "string",
        "enum": [
          "high",
          "medium",
          "low"
        ]
      },
      "save_audio": {
        "default": true,
        "description": "Keep the generated audio track.",
        "type": "boolean"
      },
      "seed": {
        "description": "Random seed. Set it to reproduce a result.",
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      },
      "enhance_prompt": {
        "default": true,
        "description": "Let PicassoIA rewrite the prompt for a better video before generating it.",
        "type": "boolean"
      }
    },
    "required": [
      "prompt"
    ],
    "additionalProperties": false
  },
  "output_schema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "string",
    "format": "uri",
    "description": "URL of the generated video (MP4)."
  }
}