Usa l'API RunComfy per eseguire pika/pikaframes. Per input e output accettati, consulta lo schema.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/pika/pikaframes \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"keyFramesFirst": "https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase3-1-1-input.jpeg",
"keyFramesLast": "https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase3-1-2-input.jpeg",
"promptText": "A pair of stylish round sunglasses rests on a sleek table. A man's hand enters the frame, delicately picking them up. The camera follows the movement of the sunglasses, smoothly rising up from the table while subtly adjusting focus. As the man lifts the glasses toward his face, the background begins to transition, seamlessly blending into a vibrant yellow textured wall. As he puts on the glasses, the reflection in the lenses subtly shifts, revealing a different perspective. The final frame locks onto his face, now exuding confidence and style, as he adjusts the glasses slightly with a confident gesture."
}'Imposta la variabile d'ambiente YOUR_API_TOKEN con la tua chiave API (gestione nel Profilo) e includi in ogni richiesta un token Bearer nell'intestazione Authorization : Authorization: Bearer $YOUR_API_TOKEN.
Invia un job di generazione asincrono e ricevi subito un request_id e URL per stato, risultati e annullamento.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/pika/pikaframes \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"keyFramesFirst": "https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase3-1-1-input.jpeg",
"keyFramesLast": "https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase3-1-2-input.jpeg",
"promptText": "A pair of stylish round sunglasses rests on a sleek table. A man's hand enters the frame, delicately picking them up. The camera follows the movement of the sunglasses, smoothly rising up from the table while subtly adjusting focus. As the man lifts the glasses toward his face, the background begins to transition, seamlessly blending into a vibrant yellow textured wall. As he puts on the glasses, the reflection in the lenses subtly shifts, revealing a different perspective. The final frame locks onto his face, now exuding confidence and style, as he adjusts the glasses slightly with a confident gesture."
}'Recupera lo stato corrente per un request_id ("in_queue", "in_progress", "completed" o "cancelled").
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/status \
--header "Authorization: Bearer <token>"Recupera output finali e metadati per il request_id; se il job non è completo, la risposta restituisce lo stato corrente per continuare il polling.
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/result \
--header "Authorization: Bearer <token>"Annulla un job in coda tramite request_id; i job in corso non possono essere annullati.
curl --request POST \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/cancel \
--header "Authorization: Bearer <token>"Fornisci un URL HTTPS raggiungibile pubblicamente. L'host deve consentire fetch lato server (senza login/cookie), senza rate limit eccessivo o blocco bot. Consigliato: immagini ≤ 50 MB (~4K), video ≤ 100 MB (~2–5 min a 720p). Per asset privati, URL stabili o pre-firmati.
{
"type": "object",
"title": "Schema di input",
"required": [
"keyFramesFirst",
"keyFramesLast",
"promptText"
],
"properties": {
"keyFramesFirst": {
"title": "Immagine iniziale",
"description": "Carica la prima immagine dell’animazione.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase3-1-1-input.jpeg"
},
"keyFramesLast": {
"title": "Immagine finale",
"description": "Carica l’ultima immagine dell’animazione.",
"type": "string",
"default": "https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase3-1-2-input.jpeg"
},
"promptText": {
"title": "Prompt",
"description": "Descrivi il contenuto, il movimento o la trasformazione desiderati.",
"type": "string",
"maxLength": 2000,
"default": "A pair of stylish round sunglasses rests on a sleek table. A man's hand enters the frame, delicately picking them up. The camera follows the movement of the sunglasses, smoothly rising up from the table while subtly adjusting focus. As the man lifts the glasses toward his face, the background begins to transition, seamlessly blending into a vibrant yellow textured wall. As he puts on the glasses, the reflection in the lenses subtly shifts, revealing a different perspective. The final frame locks onto his face, now exuding confidence and style, as he adjusts the glasses slightly with a confident gesture."
},
"resolution": {
"title": "Risoluzione",
"description": "Scegli la risoluzione di output.",
"type": "string",
"enum": [
"720p",
"1080p"
],
"default": "1080p"
},
"duration": {
"title": "Durata",
"description": "Scegli la durata del video in secondi.",
"type": "integer",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"default": 5
},
"negativePrompt": {
"title": "Prompt negativo",
"description": "Descrivi gli elementi da escludere dal risultato.",
"type": "string",
"default": ""
},
"seed": {
"title": "Seed",
"description": "Un seed intero aiuta a riprodurre una configurazione.",
"type": "integer",
"default": 90190857
}
}
}{
"output": {
"type": "object",
"properties": {
"image": {
"type": "string",
"format": "uri",
"description": "URL immagine singola"
},
"video": {
"type": "string",
"format": "uri",
"description": "URL video singolo"
},
"images": {
"type": "array",
"description": "più URL immagine",
"items": {
"type": "string",
"format": "uri"
}
},
"videos": {
"type": "array",
"description": "più URL video",
"items": {
"type": "string",
"format": "uri"
}
}
}
}
}RunComfy è la piattaforma principale ComfyUI che offre ComfyUI online ambiente e servizi, insieme a workflow di ComfyUI con visuali mozzafiato. RunComfy offre anche AI Models, consentire agli artisti di sfruttare gli ultimi strumenti di AI per creare arte incredibile.