Jaarlijks Betaal jaarlijks en krijg 2 maanden gratis bij elk betaald abonnement. Bekijk abonnementen
Aanmelden Gratis beginnen

Elke referentie die het model neemt, over de lijn

Een videomodel neemt meer dan een prompt. Sommige nemen een eerste en een laatste beeld. Sommige nemen een handvol referentieafbeeldingen. Sommige nemen een referentieclip, en gedragen zich dan daardoor anders — door hun…

Een videomodel neemt meer dan een prompt. Sommige nemen een eerste en een laatste beeld. Sommige nemen een handvol referentieafbeeldingen. Sommige nemen een referentieclip, en gedragen zich dan daardoor anders — door hun eigen geluid te dempen, of door de duur van de clip als duur van het resultaat te nemen. Sommige nemen een audioclip. Elk model tekent die envelop anders, en de meeste van de onze stuurden er slechts een deel van.

Er is nu één plek die de envelop van elk model beschrijft: hoeveel afbeeldingen, of een clip is toegestaan en voor hoeveel seconden, of audio wordt geaccepteerd, of audio een afbeelding ernaast nodig heeft, of een clip het eigen geluid van het model dempt, of een clip de duur vastlegt. Dit is gelezen uit de eigen documentatie van de providers, en vervolgens diezelfde dag getest met echte renders op echte sleutels — zo zijn beide onderstaande zaken gevonden.

Een bestand zonder extensie

Een model een clip via een link geven is de voor de hand liggende weg. Bij verschillende ervan mislukt dit op een manier die heel moeilijk te raden is: het bestand komt aan zonder extensie, en het model valideert op extensie, dus wijst het een perfect goede mp4 af omdat het geen mp4 zou zijn. Dezelfde bytes inline verzonden werden overal geaccepteerd. Dus wordt elke clip eerst herecodeerd naar een standaardformaat en inline verzonden, met een groottelimiet waarboven het link-pad toch wordt gebruikt, met een waarschuwing.

Een niveau dat niemand kreeg

Het tweede kostte klanten geld. Een van de videomodellen heeft helemaal geen resolutieveld — het kwaliteitsniveau wordt ingesteld via een anders genoemd veld — en het platform ervoor verwerpt stilletjes velden die het niet herkent. Dus kwam elke render op dat model sinds het werd toegevoegd terug op het standaardniveau terwijl de klant had betaald voor het hogere niveau. Niets faalde. De video kwam aan. Het was alleen niet de gefactureerde video.

Het niveau wordt nu afgeleid van de daadwerkelijk geprijsde resolutie, en bevestigd via sonde.

Seedance verhuist naar een directe rail

In dezelfde periode verhuisde de hele Seedance-familie van de aggregator naar de eigen API van de provider, met de aggregator als terugval. Één modelregel, één naam, twee tariefsets — en de prijs die je krijgt aangeboden is de prijs die je betaalt, zelfs wanneer de primaire rail faalt en de terugval draait, waarbij het grootboek vastlegt welke rail het werk daadwerkelijk deed, zodat onze eigen margeboekhouding de waarheid leest in plaats van de offerte.

Één ding om als gebruiker te weten: wanneer je een referentieclip toevoegt op die rail, factureert de provider de seconden van de clip bovenop de seconden van het resultaat. De schatting in het formulier zegt dat, en het getal dat vóór het uitvoeren wordt getoond is het gefactureerde getal.

Onderweg gevonden

Drie API-clients misten het ene attribuut dat een naar de provider genoemde klasse zichtbaar maakt in onze container. Twee daarvan waren tekst-naar-spraak-clients, onzichtbaar sinds de dag dat ze werden toegevoegd — reden waarom twee in de catalogus gezaaide stemmen nooit daadwerkelijk bediend konden worden. Een reflectietest laat de build nu falen bij de volgende zo'n weglating, in plaats van te wachten tot iemand een stem opmerkt die niets doet.

En de websearch-pagina die we een dag eerder hadden uitgebracht antwoordde 403 op elk niveau, op web en mobiel. Die is vergrendeld door een oudertoestemming; beide rolzaden gaven alleen de drie kindtoestemmingen ervan, en nergens wordt een ouder afgeleid van zijn kinderen. Vier andere functies hadden dit ooit met de hand gerepareerd. Er is nu een controle die de toestemmingsboom doorloopt en faalt waar een dienst vergrendeld is door een toestemming die geen enkele rol heeft.

Delen LinkedIn X E-mail
Probeer het op je eigen werkElk antwoord laat zien wat het kostte. Begin met het gratis abonnement. Gratis beginnen
Krijg productupdates, geen ruis Nieuwe modellen, functies en changelog-hoogtepunten - een korte mail wanneer er echt iets live gaat.
Door je in te schrijven ga je ermee akkoord e-mails van ToRun over productupdates te ontvangen. Je kunt je op elk moment uitschrijven. Privacybeleid