Aller au contenu principal
Automatisation

Importer des créatifs dans GAM sans interface :
MCP inline vs CLI multipart

L'API Google Ad Manager ne propose pas d'endpoint unique "upload de fichier". OrbiAds expose deux surfaces d'accès aux capacités d'import de créatifs, avec des limites et des usages très différents.

OA
OrbiAds Engineering
Publié le 28 mai 2026 · Lecture 6 min

Pourquoi importer des créatifs par API ?

L'interface Google Ad Manager est conçue pour un usage manuel. Dès qu'il faut importer des dizaines de bannières (variations A/B, déclinaisons formats, créatifs multilingues), la manipulation de l'interface devient un goulot d'étranglement. Les workflows CI/CD et les agents IA ont besoin d'une surface programmatique fiable.

OrbiAds expose deux surfaces d'accès à cette capacité, chacune adaptée à un contexte différent :

MCP Inline base64

L'outil creative_assets encode le fichier en base64 et l'envoie directement dans le payload JSON. Idéal pour les agents IA qui génèrent ou modifient des créatifs à la volée dans Claude ou un autre LLM.

  • Zéro dépendance shell
  • Parfait pour les agents Claude
  • Images ≤ 1,1 MB · HTML5 ZIP ≤ 2,25 MB
  • Vidéo / audio non supportés
CLI Multipart

La commande orbiads creatives upload utilise une requête multipart standard (Content-Type: multipart/form-data) pour streamer les fichiers directement sans base64 overhead. Conçue pour les scripts CI/CD et les fichiers lourds.

  • Images PNG/JPG/GIF/WebP ≤ 5 MB
  • HTML5 ZIP ≤ 9,5 MB
  • Vidéo MP4/WebM/MOV et audio MP3/OGG/AAC
  • Timeout 300 s pour les gros fichiers

Tableau comparatif : formats et limites de taille

FormatMCP (base64)CLI (multipart)
PNG / JPG / GIF / WebP≤ 1.1 MB≤ 5 MB
SVG≤ 1.1 MB≤ 5 MB
HTML5 ZIP≤ 2.25 MB≤ 9.5 MB
MP4 / WebM / MOV✓ (server-side limit)
MP3 / OGG / AAC✓ (server-side limit)

Exemple MCP : upload d'une image inline via Claude

Dans une session Claude avec le plugin OrbiAds installé, demandez à l'agent d'uploader un créatif. L'agent appelle creative_assets avec action="create_image". Le fichier est lu localement, encodé en base64, et transmis dans le payload JSON vers l'API GAM.

# In Claude — OrbiAds MCP plugin
creative_assets(
  action="create_image",
  params={
    "name": "Banner 300x250 — Summer Campaign",
    "advertiser_id": 12345,
    "image_bytes": "<base64-encoded PNG>",   # max ~1.1 MB decoded
    "width": 300,
    "height": 250,
    "destination_url": "https://example.com/landing"
  }
)
Limite base64 MCP — Le payload est limité à 1 500 000 caractères (~1,1 MB décodé) pour les images et 3 000 000 caractères (~2,25 MB) pour les ZIP HTML5. Au-delà, utilisez la CLI.

Exemple CLI : upload multipart en une commande

La CLI OrbiAds détecte automatiquement le type de créatif depuis l'extension du fichier. Pour une bannière image, précisez la taille avec --size WxH :

# Standard image banner
orbiads creatives upload ./banner-300x250.png \
  --name "Banner 300x250 — Summer Campaign" \
  --advertiser-id 12345 \
  --size 300x250 \
  --destination-url "https://example.com/landing"

# HTML5 ZIP (auto-detected from .zip extension)
orbiads creatives upload ./rich-media.zip \
  --name "Rich Media 970x250 — Summer Campaign" \
  --advertiser-id 12345 \
  --size 970x250

# Video pre-roll (requires --duration-ms)
orbiads creatives upload ./preroll-30s.mp4 \
  --name "Pre-roll 30s — Summer Campaign" \
  --advertiser-id 12345 \
  --duration-ms 30000

Quel outil choisir ?

La règle de décision est simple :

  • MCP (Claude / LLM) — Quand vous êtes déjà dans une session d'agent IA, que le fichier fait moins d'1 MB, et que vous ne voulez pas ouvrir un terminal.
  • CLI — Dès que le fichier dépasse 1 MB, que vous uploadez de la vidéo ou de l'audio, ou que vous intégrez l'upload dans un pipeline CI/CD (GitHub Actions, scripts Bash).

Les deux passent par le même backend OrbiAds et produisent le même objet créatif GAM. La différence est purement dans le transport : base64 JSON vs multipart/form-data.

OrbiAds gère la compatibilité API GAM

L'API GAM v202605 a supprimé le service CreativeAssetService historique. OrbiAds gère transparemment les deux chemins (inline bytes via createCreatives pour MCP, upload multipart via un endpoint REST dédié pour la CLI) sans que vous ayez à connaître les détails de l'API SOAP sous-jacente.

Commencer à uploader des créatifs par API

Installer OrbiAds en tant que plugin Claude Code (claude plugin install orbiads) ou la CLI PyPI (pip install orbiads-cli). Les deux outils partagent le même compte OrbiAds et les mêmes crédits.