Skip to main content
Orux AIOruxAI

Orux AI / Carnet des modèles

Kling v3 : auditer les images avant un montage de 5 s

Le clip réel Kling v3 demandé pour cinq secondes contient 121 images à 24 fps. Produisez un CSV des temps et un plan de 120 images sans générer ni modifier la vidéo.

Orux AIPublié 11 min de lecture
Kling v3 : auditer les images avant un montage de 5 s — Le clip réel Kling v3 demandé pour cinq secondes contient 121 images…
Sommaire

Inspecter les images décodées avant de figer un montage de cinq secondes

Une demande de cinq secondes ne suffit pas pour placer un clip Kling v3 dans un emplacement exact de 120 images à 24 fps. Inspectez le fichier livré. Dans l'exemple existant d'anche d'harmonica d'Orux analysé ici, la durée demandée est de cinq secondes, mais le MP4 enregistré contient 121 images vidéo décodées à 24 fps, pour une durée indiquée de 5.041667 secondes. C'est une limite de montage à résoudre, pas en soi la preuve d'une génération ratée ou d'une facturation incorrecte.

Pour un monteur préparant un insert de détail mécanique, le livrable utile est un rapport d'ingestion indexé par image. L'exemple Python ci-dessous produit un CSV complet des horodatages et un plan de montage proposé : conserver les images 0–119, numérotées à partir de zéro, pour l'emplacement de cinq secondes, et examiner séparément l'image 120. Il ne modifie ni n'exporte la vidéo. La source reste disponible ci-dessous pour juger l'action visible autant que sa temporalité.

Image réelle 72 à 3.000 secondes : une pince touche une anche en cuivre dans le clip Kling v3 enregistré.
Image réelle 72 à 3.000 secondes : une pince touche une anche en cuivre dans le clip Kling v3 enregistré.

Image réelle 72 de la source, à un temps de présentation de 3.000000 secondes. Elle est extraite de l'exemple existant du modèle, et non nouvellement générée.

Le véritable exemple Kling v3 et ses réglages enregistrés

La source provient de la page du modèle Kling v3 d'Orux. L'exemple enregistré montre une pince interagissant avec une anche d'harmonica en cuivre dans un très gros plan. Son prompt original est conservé ici :

维修者用细镊子轻拨一片铜簧片,簧片短暂振动后静止,超近距单镜头。

Traduction explicative pour le lecteur : « Une personne effectuant une réparation actionne délicatement une anche en cuivre avec une pince fine ; l'anche vibre brièvement puis s'immobilise, en un unique très gros plan. » Cette traduction explique l'entrée enregistrée ; ce n'est pas un autre prompt utilisé pour une nouvelle génération.

Les réglages enregistrés sont duration: 5, aspect_ratio: "16:9", mode: "std", sound: "off" et kling_v3_type: "t2v". Aucune image de référence en entrée n'est enregistrée pour cet exemple. Ne le présentez pas comme un test démontré de préservation d'image en génération image-vers-vidéo. Aucune nouvelle requête au modèle n'a été effectuée pour cet article.

Vidéo originale enregistrée de Kling v3 : une pince interagit avec une anche d'harmonica en cuivre dans un très gros plan, son désactivé.

Exemple original enregistré de Kling v3, demandé pour cinq secondes en mode std avec le son désactivé. Le fichier audité contient 121 images à 24 fps ; il ne s'agit pas d'une nouvelle génération pour cet article.

Le formulaire public actuel, vérifié le 3 novembre 2026, propose des durées de 3 à 15 secondes, les formats 16:9, 9:16 et 1:1, les modes std/pro et le son activé ou désactivé. Ces options décrivent l'intégration Orux vérifiée. Cette analyse ne déduit aucun contrôle natif supplémentaire du modèle et ne prétend pas qu'un autre mode corrigerait un mouvement visible.

Ce que montrent six images échantillonnées, et ce qu'elles ne prouvent pas

La source mesure 1,280 × 720 et le fichier inspecté ne contient aucun flux audio, conformément au réglage enregistré avec le son désactivé. Aux instants échantillonnés, le cadrage reste un gros plan des doigts, de la pince et de l'anche. Vers trois secondes, la forme visible de l'anche change autour du point de contact ; dans les images échantillonnées plus tard, l'outil s'est retiré par rapport à cette position de contact.

Ces observations aident à décider où placer l'action dans un montage. Elles ne mesurent pas la fréquence de vibration d'une anche réelle, ne prouvent pas l'exactitude mécanique et n'établissent pas que toutes les images intermédiaires sont exemptes d'artefacts. Une image fixe prélevée chaque seconde ne peut pas établir un cycle rapide de vibration. Regardez le clip original et inspectez les images intermédiaires pertinentes avant de l'utiliser autrement que comme un insert illustratif.

Image source, numérotée à partir de zéroTemps de présentationObservation éditoriale à cet échantillon
00.000000 sInstalle le gros plan, les doigts et l'outil près de l'anche
241.000000 sL'outil reste près de l'anche ; la zone de travail reste visible
482.000000 sAutre repère de la zone de contact avant le changement de posture visible plus marqué
723.000000 sL'anche paraît plus large ou soulevée autour de la zone de contact
964.000000 sL'outil s'est retiré par rapport à la position de contact à trois secondes
1205.000000 sLa dernière image échantillonnée commence à la limite des cinq secondes

Faites défiler horizontalement pour voir tout le tableau.

Six images source à composition inchangée à 0, 1, 2, 3, 4 et 5 secondes, repérées par un indice commençant à zéro.
Six images source à composition inchangée à 0, 1, 2, 3, 4 et 5 secondes, repérées par un indice commençant à zéro.

Images source 0, 24, 48, 72, 96 et 120 à leurs temps de présentation enregistrés. Leur composition complète est conservée ; les libellés et la mise en page de la planche-contact ont été ajoutés localement.

Pour un autre type de décision visuelle, la comparaison de prises Kling 4.0 avec le même prompt traite du choix entre des prises existantes. Ici, il n'y a qu'une prise enregistrée ; la question est de savoir comment la temporalité réelle de ses images s'intègre au montage. Aucun de ces articles ne transforme quelques observations en score de fiabilité global du modèle.

Distinguer l'horodatage de la dernière image de la durée du clip

À exactement 24 fps, un intervalle d'image vaut 1/24 de seconde, soit environ 0.041667 seconde. Un emplacement de cinq secondes contient 120 intervalles d'image. Avec une numérotation commençant à zéro et une source démarrant au temps zéro, les débuts d'image se situent à 0, 1/24, 2/24, et ainsi de suite jusqu'à 119/24, soit 4.958333 secondes.

L'image suivante, d'indice 120, commence à 5.000000 secondes. L'inclure pour un intervalle supplémentaire donne 121/24, soit environ 5.041667 secondes. Cela explique pourquoi le dernier horodatage de présentation du fichier et sa durée indiquée peuvent différer sans se contredire. Un emplacement de montage exprimé conventionnellement par l'intervalle semi-ouvert [0, 5) exclut une image dont le début est exactement à cinq secondes.

L'audit vérifie les véritables horodatages de présentation au lieu de multiplier une étiquette de cadence moyenne et de faire confiance au résultat. Il vérifie que chaque horodatage décodé suit la grille supposée de 24 fps à deux microsecondes près, en tenant compte de la représentation à six décimales renvoyée lors de cette exécution. Cette tolérance est un contrôle d'analyse des données pour cet exemple, pas un seuil de qualité perceptive.

N'appliquez pas aveuglément le même calcul à des fichiers à cadence variable ou à un projet à 23.976 fps. Ils nécessitent une autre politique temporelle. Le code rejette volontairement une cadence moyenne différente et une suite d'horodatages ne respectant pas son hypothèse de cadence constante. Son résultat est un plan d'ingestion précisément délimité, pas un outil automatique de conversion de cadence.

Budgéter les réglages demandés séparément de l'audit du fichier

Les tarifs Orux actuels ci-dessous ont été vérifiés le 3 novembre 2026. La conversion configurée est 1 Credit = USD 0.005. Les valeurs sont données par seconde générée pour le mode et le réglage sonore indiqués. La colonne de cinq secondes est un calcul prévisionnel pour une nouvelle requête, pas le montant historique facturé pour cet exemple enregistré.

Réglages Kling v3Tarif Orux actuel / secondeRequête prévue de cinq secondes
std, son désactivé — réglage de l'exemple enregistré16.00008 Credits (USD 0.0800004)80.0004 Credits (USD 0.400002)
pro, son désactivé21.33336 Credits (USD 0.1066668)106.6668 Credits (USD 0.533334)
std, son activé24.00024 Credits (USD 0.1200012)120.0012 Credits (USD 0.600006)
pro, son activé32.00016 Credits (USD 0.1600008)160.0008 Credits (USD 0.800004)

Faites défiler horizontalement pour voir tout le tableau.

Cet article n'a entraîné aucun nouveau coût de génération. Inspecter un fichier local existant, écrire un CSV et choisir les images à conserver ne nécessite pas un nouvel appel au modèle. Supprimer une image au montage n'établit pas non plus un droit au remboursement et ne modifie pas le montant historique de la génération. Aucune pièce de facturation de l'exemple original n'a été utilisée ici : les 5.041667 secondes des métadonnées du fichier ne doivent donc pas être présentées comme la preuve du nombre de secondes facturées.

Si une nouvelle direction créative est nécessaire, confirmez les réglages actuels et le devis du compte avant de demander une autre prise. Si le seul problème consiste à faire entrer un résultat autrement utilisable dans un emplacement exact, prenez d'abord la décision de montage. Consultez la documentation de l'API Orux pour l'intégration ; ce flux de travail concerne le fichier livré, pas les mécanismes d'interrogation périodique ou de nouvelle tentative de l'API.

Exécuter l'audit des images et conserver la source

Installez FFmpeg pour disposer de ffprobe en ligne de commande et utilisez Python 3.9 ou une version ultérieure. La documentation officielle de ffprobe explique l'inspection des flux, le comptage des images décodées et les informations par image. Le programme n'utilise que la bibliothèque standard de Python, en plus de l'exécutable local ffprobe.

Enregistrez la vidéo existante depuis le lecteur intégré ou la page du modèle sous le nom source.mp4, puis enregistrez le code suivant dans audit_clip.py. Exécutez python3 audit_clip.py source.mp4 depuis un répertoire accessible en écriture. Utilisez le parcours d'accès vidéo normal du site ; un téléchargement brut sans le contexte de requête attendu peut recevoir un refus d'accès du CDN. Le programme lui-même ne télécharge aucun média, ne contacte aucun point de terminaison de modèle et n'utilise aucune clé d'API.

Python
import csv
import hashlib
import json
import subprocess
import sys
from decimal import Decimal
from fractions import Fraction
from pathlib import Path

EXPECTED_SHA = '5c948c89baf54c46c85afe65c33636bebb8a6a79acc22eebcce2412aef3e5515'
SOURCE = Path(sys.argv[1] if len(sys.argv) > 1 else 'source.mp4')
TARGET_RATE = Fraction(24, 1)
TARGET_SECONDS = 5

def probe(*args):
    command = ['ffprobe', '-v', 'error', *args, '-of', 'json', str(SOURCE)]
    return json.loads(subprocess.run(command, check=True, capture_output=True, text=True).stdout)

def audit_timestamps(times, rate):
    if not times or rate <= 0:
        raise ValueError('missing frames or invalid rate')
    origin = times[0]
    for index, timestamp in enumerate(times):
        expected = origin + Decimal(index * rate.denominator) / rate.numerator
        if abs(timestamp - expected) > Decimal('0.000002'):
            raise ValueError('timestamps do not match the assumed constant rate')

def main():
    if hashlib.sha256(SOURCE.read_bytes()).hexdigest() != EXPECTED_SHA:
        raise ValueError('sample changed; inspect the new file before auditing')
    info = probe('-count_frames', '-show_entries',
                 'stream=index,codec_type,width,height,avg_frame_rate,nb_read_frames:format=duration')
    video = next(s for s in info['streams'] if s['codec_type'] == 'video')
    rate = Fraction(video['avg_frame_rate'])
    if rate != TARGET_RATE:
        raise ValueError('this example expects an exact 24 fps source')
    raw = probe('-select_streams', 'v:0', '-show_frames', '-show_entries',
                'frame=best_effort_timestamp_time')['frames']
    times = [Decimal(row['best_effort_timestamp_time']) for row in raw]
    audit_timestamps(times, rate)
    if int(video['nb_read_frames']) != len(times):
        raise ValueError('decoded frame counts disagree')
    target_count = TARGET_SECONDS * TARGET_RATE.numerator // TARGET_RATE.denominator
    if len(times) < target_count:
        raise ValueError('source is shorter than the target slot')
    with Path('frame-times.csv').open('w', newline='') as handle:
        writer = csv.writer(handle)
        writer.writerow(['zero_based_frame', 'presentation_seconds'])
        writer.writerows((i, str(t)) for i, t in enumerate(times))
    plan = {
        'width': video['width'], 'height': video['height'],
        'source_rate': str(rate), 'decoded_frames': len(times),
        'container_seconds': info['format']['duration'],
        'last_presentation_seconds': str(times[-1]),
        'audio_streams': sum(s['codec_type'] == 'audio' for s in info['streams']),
        'target_frames': target_count, 'keep_frames_inclusive': [0, target_count - 1],
        'last_kept_presentation_seconds': str(times[target_count - 1]),
        'frames_outside_slot': len(times) - target_count,
        'edit_applied': False,
    }
    Path('edit-plan.json').write_text(json.dumps(plan, indent=2) + '\n')
    print(json.dumps(plan, indent=2))

if __name__ == '__main__':
    main()

Le résultat exécuté indique decoded_frames: 121, target_frames: 120, keep_frames_inclusive: [0, 119], frames_outside_slot: 1, last_kept_presentation_seconds: "4.958333" et edit_applied: false. Le CSV généré contient 121 lignes de données, en plus de son en-tête. Le rapport enregistre aussi les dimensions de 1,280 × 720 et l'absence de flux audio.

Conservez ensemble le MP4 original, son empreinte, le CSV des horodatages et le plan de montage. L'empreinte fixée limite volontairement cet exemple reproductible au fichier inspecté. Pour une autre source autorisée, inspectez-la puis modifiez délibérément l'empreinte attendue et les hypothèses temporelles ; ne supprimez pas les contrôles simplement pour obtenir une validation. Ce code charge les métadonnées de chaque image en mémoire et vise un clip court, pas une archive audiovisuelle de longue durée.

Prendre explicitement la décision de montage

Deux décisions sont raisonnables pour cet exemple. Conservez la source complète de 121 images si la séquence environnante peut accueillir sa durée d'environ 5.041667 secondes, ou proposez les images 0–119 pour un emplacement exact de 120 images. C'est cette seconde proposition qui est produite ici. Aucun export raccourci n'est fourni ni revendiqué.

Avant d'appliquer ce plan dans un logiciel de montage, examinez les images source 119 et 120 et toute l'action qui les entoure. Vérifiez que le point de sortie choisi ne supprime pas une posture finale importante, ne crée pas une rupture involontaire ou ne gêne pas le raccord avec un plan voisin. Si le projet exige un temps d'immobilité final plus long, l'emplacement de cinq secondes est peut-être simplement une contrainte créative inadaptée. Un contrôle du nombre d'images ne peut pas faire ce choix artistique à votre place.

Après avoir monté ou exporté dans votre propre flux de travail, inspectez de nouveau le fichier obtenu. Le rapport de la source ne certifie ni la temporalité, ni le son, ni la qualité d'image d'un export ultérieur. Le résultat pratique est une transmission vérifiable : une source connue, des horodatages mesurés, une plage d'images proposée explicitement et une distinction claire entre examen créatif, durée sur la timeline et coût de génération.

FAQ

Une demande de cinq secondes renvoie-t-elle toujours 121 images ?

Aucune règle générale n'est établie ici. Ce fichier Kling v3 enregistré contient précisément 121 images décodées à 24 fps. Inspectez chaque fichier livré au lieu de traiter le comportement aux limites de cet exemple comme une garantie globale du modèle.

Quelles images entrent dans l'emplacement exact de cinq secondes de cet exemple ?

Les images 0 à 119 entrent dans l'emplacement indiqué de 120 images à 24 fps. L'image 119 commence à 4.958333 secondes ; l'image 120 commence à 5.000000 secondes et se trouve hors de [0, 5). Le code propose cette plage sans appliquer de montage.

L'image supplémentaire prouve-t-elle qu'un temps supplémentaire m'a été facturé ?

Non. La durée du fichier ne suffit pas à établir la base de facturation ou le montant historique. Le tableau tarifaire est un calcul prévisionnel daté pour les réglages demandés ; aucune pièce de facturation de l'exemple enregistré n'a été inspectée.

La planche-contact peut-elle prouver que l'anche vibre correctement ?

Non. Elle montre des postures et positions d'outil sélectionnées, pas une vibration physique mesurée. Examinez le mouvement original pour juger son intérêt éditorial et n'utilisez pas ce clip généré comme preuve d'exactitude mécanique.

L'audit a-t-il généré ou modifié une vidéo ?

Non. Il a inspecté le MP4 existant et écrit un CSV des horodatages ainsi qu'un JSON de plan de montage proposé. Il n'a effectué aucun appel payant au modèle et n'a fourni ni export raccourci, ni conversion de cadence, ni nouvelle bande sonore.

Essayer page du modèle Kling v3 d'Orux sur Orux AILancez-le en ligne, puis consultez les tarifs et les exemples d’API sur la page du modèle.Ouvrir le modèle

Utilisez ces modèles avec une seule API

Une API compatible OpenAI pour les modèles de chat, d’image, de vidéo et d’audio, facturée en Credits.

Articles similaires

Voir tous les articles →