Skip to content

Uploading creatives

Creatives belong to a campaign. Create the campaign first, with its screens and dates, then upload one video for each of its content requirements.

  1. GET /v1/campaigns/{campaignId}/creatives lists the requirements: size, length, formats and the screens each one covers.
  2. POST /v1/campaigns/{campaignId}/creatives as multipart/form-data, with file and requirementKey.
  3. Poll the list until complete is true, or until a creative is FAILED. Every 10 to 30 seconds is enough.
  4. Submit the campaign.
Terminal window
curl -X POST $API/v1/campaigns/cmp_9Fz1/creatives \
-H "Authorization: Bearer $TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-F "requirementKey=1280x768" \
-F "file=@winter.mp4;type=video/mp4"
  • Formats: MP4, MOV, AVI or WebM. Send the file part with its Content-Type.
  • Size: up to 100 MB.
  • Resolution and length: as the requirement states. These are checked while the creative is PROCESSING, so a wrong one ends as FAILED with a failureReason.
  • Upload while the campaign is DRAFT or REJECTED.
  • A new upload for a requirement replaces the earlier creative.
  • DELETE /v1/campaigns/{campaignId}/creatives/{creativeId} removes one.
  • Changing the campaign’s screens can add or remove requirements. Check the list again after a change.

A large upload can take a while. Allow at least 5 minutes before timing out, and retry with the same Idempotency-Key if the connection drops.