Gemini Omni 1.2 Flash — Paramètres et limites
Contrat de la passerelle APIMaster pour gemini-omni-1.2-flash, vérifié le 2026-11-07. Il ne s'agit pas de Google Interactions natif. Les règles Official/Ext de 1.1 ne s'appliquent pas.
Gemini Omni 1.2 Flash
Contrat de la passerelle APIMaster pour gemini-omni-1.2-flash, vérifié le 2026-11-07. Il ne s'agit pas de Google Interactions natif. Les règles Official/Ext de 1.1 ne s'appliquent pas.
OpenAPI 3.1 · Gemini Omni 1.2 Flash
Routes et authentification
La route publique actuelle est le canal 335. Utilisez Authorization: Bearer YOUR_API_KEY et Content-Type: application/json. Les droits du modèle/groupe, le solde et la disponibilité restent applicables; aucune liste supplémentaire de clients autorisés n'est publiée. N'ajoutez pas le canal à l'ID. Il n'existe pas de route Ext distincte pour 1.2; le référencement ne garantit pas toutes les capacités Google.
POST https://apimaster.ai/v1/videosPOST https://apimaster.ai/v1/videos/generationsGET https://apimaster.ai/v1/videos/{task_id}GET https://apimaster.ai/v1/videos/{task_id}/contentGET https://apimaster.ai/v1/video-submissions/by-keyGET https://apimaster.ai/api/log/token
Paramètres et limites
| Champ | Type | Règle |
|---|---|---|
model |
string |
ID public exact du modèle. |
prompt |
string |
Instruction non vide obligatoire dans chaque mode, y compris modification et continuation. |
duration |
integer |
Défaut 10; génération normale 3–15 secondes entières; interpolation et nouveau segment de prolongation 3–10. Ignoré pour la modification. |
seconds |
integer / string |
Alias compatible de duration, entier ou chaîne entière; duration est prioritaire si les deux sont présents. |
resolution |
string |
360p, 720p (défaut), 1080p, 4k, sans distinction de casse; 2160p devient 4k. 1080p/4k sont suréchantillonnés. |
aspect_ratio |
string |
16:9 par défaut ou 9:16; les autres chaînes sont actuellement normalisées en 16:9. Utilisez les valeurs prises en charge. |
ratio |
string |
Ancien alias du rapport d'image, pas de la résolution. Préférez aspect_ratio. |
size |
string |
Ancien alias; ordre de priorité aspect_ratio, ratio, size. |
image_urls |
string[] |
URL HTTP(S) publiques d'images; une image sert de départ par défaut, plusieurs servent de références. |
first_frame_image |
string |
URL publique de la première image. |
last_frame_image |
string |
Exige first_frame_image; proportions cohérentes avec la sortie. |
image_with_roles |
object[] |
Alternative aux champs d'images explicites. Chaque objet contient url et role non vide; first_frame/last_frame désignent les extrémités, les autres rôles des références. La dernière exige la première. |
video_urls |
string[] |
Au plus une vidéo publique d'entrée de 15 secondes maximum; modification par défaut. |
omni_reference_task_type |
string |
auto, edit, extend, reference, text_to_video, image_to_video, reference_to_video. La prolongation exige extend explicite. |
extend_from_task_id |
string |
Votre tâche publique task_... réussie pour ce modèle; incompatible avec video_urls. La route et le compte fournisseur d'origine doivent rester disponibles. Pas un Google interaction ID. |
Au plus 10 images au total, extrémités comprises. Choisissez image_with_roles ou les champs explicites. Le fournisseur recommande au plus deux personnages et trois images par personnage. Uniquement des liens HTTP(S) publics directs, sans Base64, Data URL ni multipart. PNG/JPEG et MP4 ont été validés. La mesure de durée accepte des médias compatibles MP4/MOV et lit au plus 100 MiB: ce n'est pas une limite de téléversement garantie par le fournisseur. La limite par image et la liste exhaustive des codecs/tailles ne sont pas publiées.
Les références audio, audio_urls, l'état Google interaction/conversation, metadata, generation_type, system_prompt, temperature, negative_prompt, seed, fps et n ne sont pas exposés. Décrivez les contraintes négatives et les sons souhaités dans prompt. On peut enchaîner des tâches publiques terminées, chaque vidéo d'entrée restant limitée à 15 secondes; ce n'est pas une session Google native. Les champs supérieurs inconnus sont rejetés.
Exemples JSON sans exécution
Ce sont des corps JSON inertes. Remplacez example.com et les ID d'exemple. Une nouvelle opération exige une nouvelle clé; une nouvelle tentative de la même opération conserve clé et corps. Pour le tour suivant, utilisez l'ID public de l'enfant terminé. Aucun exemple audio d'entrée valide n'existe.
1. text_to_video
{"model":"gemini-omni-1.2-flash","prompt":"A blue glass sphere rolls slowly across a plain gray table.","duration":3,"resolution":"360p","aspect_ratio":"16:9"}
2. reference_to_video
{"model":"gemini-omni-1.2-flash","prompt":"Animate these geometric references while preserving their shapes and colors.","image_urls":["https://example.com/reference-a.png","https://example.com/reference-b.png"],"omni_reference_task_type":"reference","duration":6,"resolution":"720p","aspect_ratio":"16:9"}
3. first_frame_image / last_frame_image
{"model":"gemini-omni-1.2-flash","prompt":"Make a smooth transition from the first view to the last view.","first_frame_image":"https://example.com/first.png","last_frame_image":"https://example.com/last.png","duration":6,"resolution":"720p","aspect_ratio":"16:9"}
4. image_with_roles
{"model":"gemini-omni-1.2-flash","prompt":"Make a smooth transition between these views.","image_with_roles":[{"url":"https://example.com/first.png","role":"first_frame"},{"url":"https://example.com/last.png","role":"last_frame"}],"duration":6,"resolution":"720p"}
5. edit / video_urls
{"model":"gemini-omni-1.2-flash","prompt":"Change the lighting to sunset while preserving the scene.","video_urls":["https://example.com/input.mp4"],"omni_reference_task_type":"edit","resolution":"720p"}
6. extend / video_urls
{"model":"gemini-omni-1.2-flash","prompt":"Continue the camera movement for three more seconds.","video_urls":["https://example.com/input.mp4"],"omni_reference_task_type":"extend","duration":3,"resolution":"720p"}
7. extend / extend_from_task_id
{"model":"gemini-omni-1.2-flash","prompt":"Continue the previous scene with a gentle camera pan.","extend_from_task_id":"task_YOUR_COMPLETED_TASK","omni_reference_task_type":"extend","duration":3,"resolution":"720p"}
8. edit / extend_from_task_id
{"model":"gemini-omni-1.2-flash","prompt":"Keep the scene but turn the blue sphere yellow.","extend_from_task_id":"task_YOUR_COMPLETED_TASK","omni_reference_task_type":"edit","resolution":"720p"}
Tâches, interrogation et téléchargement
Le premier POST accepté renvoie HTTP 200 et queued. Interrogez toutes les 5–10 secondes: queued → in_progress → completed/failed; gérez aussi unknown transitoire. url et metadata.url sont des proxys authentifiés: téléchargez avec Bearer. Un échec de génération est généralement renvoyé avec HTTP 200 et error.code=generation_failed, message nettoyé. Les erreurs de soumission utilisent 4xx/5xx; un timeout ou 5xx ne prouve pas l'absence d'acceptation. Les exemples suivants remplacent l'identité et l'horodatage.
{"id":"task_REDACTED_EXAMPLE","task_id":"task_REDACTED_EXAMPLE","object":"video","model":"gemini-omni-1.2-flash","status":"queued"}
{"id":"task_REDACTED_COMPLETED_EXAMPLE","task_id":"task_REDACTED_COMPLETED_EXAMPLE","object":"video","model":"gemini-omni-1.2-flash","status":"completed","progress":100,"created_at":1793966808,"url":"https://apimaster.ai/v1/videos/task_REDACTED_COMPLETED_EXAMPLE/content","metadata":{"url":"https://apimaster.ai/v1/videos/task_REDACTED_COMPLETED_EXAMPLE/content"}}
{"id":"task_REDACTED_FAILED_EXAMPLE","task_id":"task_REDACTED_FAILED_EXAMPLE","object":"video","model":"gemini-omni-1.2-flash","status":"failed","progress":100,"created_at":1793966808,"error":{"code":"generation_failed","message":"The generation request failed."}}
Usage, coût final et remboursements
L'interrogation ne garantit ni usage, ni détail des modalités, ni USD. Après rapprochement, le montant client final est other.final_amount_usd du journal de consommation. GET /api/log/token avec la même clé renvoie une liste récente limitée, pas une archive de factures. L'historique du compte via GET /api/log/self exige l'authentification du compte; la clé de génération ne la remplace pas. Analysez la chaîne other en JSON et rapprochez other.task_id. Les données réelles peuvent inclure prompt_tokens, completion_tokens et other.input_tokens, text_output_tokens, video_output_tokens, token_usage_source, retail_token_prices, group_ratio. L'entrée est agrégée, sans ventilation texte/image/vidéo garantie.
Au 2026-11-07, tarifs de base du canal 335: entrée $1.32, sortie texte $7.92, sortie vidéo $10.56 par million de tokens, avant coefficients du compte; consultez la fiche actuelle. Une estimation est réservée puis rapprochée de l'usage réel et des prix figés, avec complément ou remboursement. L'échec confirmé rembourse la réserve; une acceptation inconnue ne garantit pas un remboursement immédiat. 500,000 quota = USD 1. La réserve initiale n'est pas le total final; ne comptez pas une deuxième fois les ajustements. Exemple historique: entrée 39, texte 0, vidéo 5793, total $0.064286, sans garantie de prix pour une nouvelle tâche.
USD = (input_tokens × input_rate
+ text_output_tokens × text_output_rate
+ video_output_tokens × video_output_rate) / 1,000,000
La prolongation facture la sortie vidéo du nouveau segment et l'entrée de la référence; le MP4 contient les deux. Une référence de 3 secondes prolongée de 3 a produit environ 6 secondes, avec des tokens de sortie pour les nouvelles 3 secondes. L'audio généré appartient à la sortie vidéo. Sans détail texte, le parseur actuel considère la sortie déclarée comme vidéo. Sans tokens valides mais avec reçu de coût faisant autorité, le calcul peut utiliser ce reçu, token_usage_source=provider_cost_receipt, sans inventer de compteurs. Sans usage ni coût, le rapprochement continue. Détail complet et délai fixe ne sont pas garantis.
Idempotence de la passerelle et récupération
Idempotency-Key comporte 8–128 caractères ASCII visibles sans espace, sans équivalent dans le corps, à portée du compte. Même compte/clé/requête: HTTP 202 et Idempotency-Replayed:true, sans seconde génération ni réserve. Changement de corps, groupe ou route explicite: 409 idempotency_conflict. L'ordre des clés JSON est ignoré; les valeurs, l'ordre des tableaux et les défauts omis/explicites comptent. Après déconnexion, la passerelle tente de terminer l'opération originale et sa persistance dans un délai borné.
{"code":200,"data":{"submission_id":"REDACTED_SUBMISSION_ID","task_id":"task_REDACTED_EXAMPLE","model":"gemini-omni-1.2-flash","status":"accepted","task_ready":true,"same_key_replay_safe":true,"new_submission_safe":false,"next_action":"query_task"}}
GET /v1/video-submissions/by-key avec la clé d'origine et Bearer lit seulement le reçu: aucun générateur, aucune recherche par clé chez le fournisseur, aucun mouvement de fonds. pending/submitting: continuez à lire; accepted avec task_ready=true: interrogez task_id; accepted non prêt: attendez le rapprochement ou contactez le support; acceptance_unknown: aucun renvoi automatique, conservez clé et référence; not_accepted: corrigez l'erreur confirmée et utilisez une nouvelle clé seulement si le reçu et les fonds le permettent. L'ancienne clé rejoue toujours le résultat initial. Un 404 avec retry_safe=false ne prouve pas la non-acceptation. Conservation minimale de 30 jours sans réutilisation automatique. Répéter un POST sans clé client crée une autre opération. Il s'agit de l'idempotence de la passerelle, pas de celle de Google/APIMart; aucun original incertain n'est renvoyé. Les tâches acceptées et financièrement confirmées peuvent être restaurées sans génération ni débit supplémentaire.
Fonctions non exposées et devis
POST /v1/videos/quote ne prend PAS ce modèle en charge: le contrôle actuel est spécifique à Seedance. Aucun contrat de devis Omni gratuit sans tâche/générateur, ni invoice dédié, ni /v1/videos/{task_id}/billing comme facture finale. Modération et restrictions régionales du fournisseur restent applicables, notamment pour l'édition/prolongation de vidéos téléversées dans l'EEA, en Suisse et au Royaume-Uni. Le schéma lié décrit la passerelle; les exemples natifs ne remplacent pas les ID, réponses et journaux APIMaster.
