Calcolare i timestamp degli annunci nei podcast
Trasformi la durata di un episodio e tre posizioni pubblicitarie percentuali in timestamp esatti, pronti per la produzione.
Esegui gratis nel browser
Inserisca la durata in secondi, scelga tra 0 e 100 per cento dove collocare pre-roll, mid-roll e post-roll e ottenga sia offset numerici sia codici temporali leggibili. Poiché il calcolo è deterministico, produttori, reparti pubblicitari e sistemi di pubblicazione possono applicare sempre le stesse regole senza scorrere manualmente la traccia di ogni episodio.
Converta le percentuali della campagna in tempi di montaggio
I piani pubblicitari per podcast indicano spesso le posizioni in percentuale, perché un riferimento relativo si adatta facilmente a episodi di durata diversa. Un’istruzione come «collochi il mid-roll al 50 per cento» è semplice da standardizzare, ma il montatore o il sistema di pubblicazione ha comunque bisogno di un codice temporale preciso. Questo calcolatore moltiplica la durata dell’episodio per ogni percentuale richiesta e restituisce l’offset in secondi insieme a un timestamp HH:MM:SS.mmm leggibile. Inserisca la durata complessiva in secondi e poi una percentuale per pre-roll, mid-roll e post-roll. In un episodio di 3,600 secondi, 2.5 per cento equivale a 90 secondi, 50 per cento a 1,800 secondi e 97.5 per cento a 3,510 secondi. I risultati nominati mantengono ogni posizione associata alla funzione corretta, riducendo gli errori di copia. Dal momento che l’aritmetica è sempre deterministica, l’output è adatto a note di produzione, manifesti di inserimento, schede di approvazione e flussi automatici che richiedono indicatori coerenti per un intero catalogo.
Conosca precisione, limiti e controlli di validità
Ogni percentuale viene misurata dall’inizio dell’episodio. Di conseguenza, 0 per cento indica l’apertura e 100 per cento coincide con la durata esatta. I valori intermedi generano posizioni proporzionali e possono includere frazioni come 12.5 o 87.25. Gli offset numerici vengono restituiti con un massimo di sei cifre decimali, mentre i timestamp visualizzati sono arrotondati al millisecondo più vicino, una precisione comune nei software di montaggio audio e nelle interfacce di pubblicazione. Il calcolatore rifiuta percentuali inferiori a 0 o superiori a 100 invece di correggerle senza avviso, perché una correzione potrebbe spostare l’annuncio facendo apparire valida la richiesta. Vengono rifiutate anche durate mancanti, non numeriche, infinite o non positive. Questi controlli rendono visibili gli errori prima che i tempi raggiungano il flusso di inserimento. Lo strumento non valuta l’opportunità editoriale, non riconosce le pause del parlato e non sposta un indicatore per evitare musica o dialoghi: esegue esattamente la conversione percentuale richiesta.
Utilizzi i risultati nel flusso di produzione
L’elenco restituito segue l’ordine pre-roll, mid-roll e post-roll. Ogni elemento contiene la percentuale originale, l’offset numerico in secondi e il timestamp formattato. Un produttore può copiare il valore leggibile in una lista di montaggio o nella scheda dell’episodio, mentre un’integrazione può consumare direttamente l’offset senza interpretare una stringa temporale. La doppia rappresentazione è utile quando un gruppo controlla visivamente le posizioni e un altro invia dati strutturati al server pubblicitario. Per una trasmissione ricorrente, conservi le percentuali della campagna come regola stabile ed elabori la durata finale di ogni nuovo episodio. In questo modo la distanza relativa resta quella prevista anche se la lunghezza cambia ogni settimana. Prima della pubblicazione, confronti gli indicatori con il file master definitivo e non con una bozza: accorciare l’introduzione o aggiungere i crediti modifica la durata totale e tutte le posizioni proporzionali. Il prezzo dell’API è $0.002 per richiesta e la versione nel browser usa la stessa logica. Non serve caricare audio, poiché vengono elaborati soltanto durata e percentuali.
Casi d'uso
Preparare una scheda di inserimento pubblicitario
Converta il piano percentuale dello sponsor in tempi che il montatore possa riportare direttamente nella scheda dell’episodio.
Uniformare le posizioni di una serie
Applichi la stessa regola relativa di pre-roll, mid-roll e post-roll a episodi la cui durata finale varia.
Alimentare una pubblicazione automatizzata
Usi gli offset numerici in un’integrazione mantenendo timestamp leggibili per il controllo e l’approvazione umani.
Domande frequenti
Quanto costa il calcolatore tramite API?
Ogni richiesta API costa $0.002. Può anche eseguire il calcolo nel browser con la stessa logica deterministica.
Quale unità devo usare per la durata dell’episodio?
Inserisca la durata completa in secondi. Sono ammessi secondi decimali quando la fonte offre una precisione inferiore al secondo.
Una percentuale può essere esattamente 0 o 100?
Sì. Il valore 0 indica l’inizio dell’episodio, mentre 100 corrisponde esattamente al suo istante finale.
Cosa accade se una percentuale è fuori intervallo?
La richiesta restituisce un errore di input non valido che identifica il campo interessato. I valori non vengono mai tagliati o adattati.
Qual è la precisione dei timestamp restituiti?
Gli offset conservano fino a sei cifre decimali e il codice temporale leggibile è arrotondato al millisecondo più vicino.
Lo strumento analizza o carica l’audio del podcast?
No. Usa soltanto la durata e le percentuali fornite; non riceve, analizza o conserva alcun file audio.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/audio/podcast-ad-slot-timing \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"duration_seconds":3600,"pre_roll_percent":2.5,"mid_roll_percent":50,"post_roll_percent":97.5}'const res = await fetch("https://api.kit.forhosting.com/audio/podcast-ad-slot-timing", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"duration_seconds": 3600,
"pre_roll_percent": 2.5,
"mid_roll_percent": 50,
"post_roll_percent": 97.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/podcast-ad-slot-timing",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"duration_seconds": 3600,
"pre_roll_percent": 2.5,
"mid_roll_percent": 50,
"post_roll_percent": 97.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/podcast-ad-slot-timing", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"duration_seconds":3600,"pre_roll_percent":2.5,"mid_roll_percent":50,"post_roll_percent":97.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"duration_seconds":3600,"pre_roll_percent":2.5,"mid_roll_percent":50,"post_roll_percent":97.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/podcast-ad-slot-timing", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"duration_seconds": 3600,
"pre_roll_percent": 2.5,
"mid_roll_percent": 50,
"post_roll_percent": 97.5
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.podcast_ad_slot_timing",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 200 |
max_minutes | 180 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |