Azure AI Engineer · AI-103
Domain 3 · 10–15%Implement computer vision solutions

Computer vision

Generate and edit images and video, understand images with vision models and Content Understanding, and keep it safe. CCA-F overlap is small here (about 20%): most cards are marked New for you.

PracticeD3 practice bank →

16 items, all formats, practice or timed exam mode.

AGenerate images and video

3.1

Generate images

Send a prompt to an image model deployment; get back base64 image data.

From CCA-F: New for you: Claude reads images but doesn't make them. The prompt craft carries over (be specific about subject, style, framing); the API is OpenAI's images API on a Foundry deployment.

How it works

  1. Deploy gpt-image-2 (or 2.5)
  2. client.images.generate(model=..., prompt=..., size=...)
  3. Decode data[0].b64_json and save

Must know

  • GA: gpt-image-2 and the gpt-image-2.5 family (custom sizes up to 3840 px).
  • Limited access: gpt-image-1.x. Retired: DALL-E 3 (March 2026).
  • Results are b64_json, not URLs.
  • background="transparent" needs PNG output.

Traps

  • DALL-E 3 in an option is a retired service: never correct now.
  • gpt-image-1 works only after a limited-access approval.

Check yourself: d3-n1 · d3-y1 · Microsoft Learn

3.2

Edit images: masks and inpainting

Send the image, a mask and a prompt; only the masked area is redrawn.

From CCA-F: New for you. Think of it as a scoped edit: like telling Claude Code to change one function and leave the file alone, the mask is the scope.

How it works

  1. Make a PNG mask the same size as the image
  2. Make the area to change fully transparent
  3. client.images.edit(image=..., mask=..., prompt=...)

Must know

  • Transparent pixels = edited; opaque pixels = kept.
  • Up to 16 input images per edit.
  • input_fidelity keeps faces and style closer to the input.
  • No mask = the prompt can change the whole image.

Traps

  • Black or white for the edit area is other tools' convention; Azure uses transparency.
  • A mask of a different size is rejected.

Check yourself: d3-q19 · d3-c1 · Microsoft Learn

3.3

Generate and remix video (Sora 2)

Video is a job: create, poll, download. To change a finished video, remix it.

From CCA-F: Same shape as the Message Batches API in CCA-F: submit, poll status, fetch results. Nothing comes back on the first call.

How it works

  1. client.videos.create(model="sora-2", prompt=..., size=..., seconds=...)
  2. Poll videos.retrieve(id) until completed
  3. videos.download_content(id); change it later with videos.remix(id, prompt=...)

Must know

  • Sora 2 is preview; billed per second of video.
  • size 720x1280 (default) or 1280x720; seconds 4, 8 or 12.
  • input_reference sets the first frame and must match size exactly.
  • Rejected: real people, copyrighted characters and music, input images with faces.

Traps

  • Changing one thing in a finished clip = remix, not a new generation.
  • Any face in the reference image is rejected, however the size is set.

Check yourself: d3-q20 · d3-o1 · Microsoft Learn

BUnderstand images and video

3.4

Ask a vision model about an image

Captions, visual Q&A, alt text and 'what's in this photo' go to a vision-capable chat model.

From CCA-F: Exactly like sending an image content block to Claude: here it's an input_image / image_url part with a URL or a base64 data URI.

How it works

  1. Put the image in the message as a URL or data:image/...;base64,
  2. Ask a specific question; ask for JSON with structured outputs if code reads it
  3. Use detail: "low" when fine detail doesn't matter

Must know

  • GPT-4.1 and GPT-5 family models accept images.
  • detail: "low" uses fewer tokens; high reads fine print.
  • Images count as input tokens.
  • For bounding regions and repeatable extraction at scale, prefer Content Understanding.

Traps

  • Image Analysis 4.0 for a new captioning build: deprecated.
  • A vision model gives answers, not a stable schema, unless you ask for structured outputs.

Check yourself: d3-n2 · d3-m1 · Microsoft Learn

3.5

Content Understanding for images and video

An analyzer = a field schema + settings; run it on images, documents, audio or video and get structured results with confidence.

From CCA-F: Like a tool with a strict input_schema in CCA-F, but for output: you declare the fields, the service fills them and says how sure it is.

How it works

  1. Set the resource's default LLM and embedding deployments (once)
  2. Pick a prebuilt analyzer or define fields
  3. begin_analyze(...) is long-running: poll for the result

Must know

  • GA (API 2025-11-01).
  • Prebuilt: prebuilt-read, prebuilt-layout (no LLM needed), prebuilt-imageSearch, prebuilt-videoSearch, prebuilt-documentSearch.
  • Video output: transcript, key frames, per-segment descriptions; segment by your own categories if you want.
  • Field methods: extract, generate, classify.

Traps

  • It uses your model deployments; missing defaults make generative fields fail.
  • prebuilt-read/layout give text and layout, not your custom fields.

Check yourself: d3-q21 · d3-n3 · d3-s1 · Microsoft Learn

3.6

What's retired or restricted in vision

Know which old vision answers are now wrong.

From CCA-F: New for you. The CCA-F exam never tested product retirements; AI-103 does, often as the distractor.

How it works

  1. Retired → never pick it
  2. Retiring → don't pick it for a new build
  3. Limited access → pick it only if the stem says you have approval

Must know

  • Image Analysis 4.0: deprecated; its custom classification, custom object detection and background removal are retired.
  • Custom Vision: retiring (2028).
  • Face identification and verification: limited access.
  • DALL-E 3: retired.

Traps

  • "Train a Custom Vision model" for a new solution is the retiring answer.
  • Background removal in Image Analysis 4.0 is gone; use image edit with a transparent background instead.

Check yourself: d3-q21 · d3-y2 · Microsoft Learn

CSafety and provenance

3.7

Safety for images: filters and hidden instructions

Images are filtered like text, and any text read from an image is untrusted data.

From CCA-F: Straight from CCA-F: tool results are data, not instructions. An image a user uploads is one more tool result.

How it works

  1. Content filters screen image inputs and outputs (hate, sexual, violence, self-harm)
  2. OCR the text, pass it as a delimited document
  3. Prompt Shields for document (indirect) attacks at the tool response point

Must know

  • Prompt Shields: user prompt attacks (direct) and document attacks (indirect).
  • Agents add tool call and tool response intervention points (preview).
  • The instruction never gets obeyed, even if it passes the shield: the prompt says to treat it as data.

Traps

  • Text in an image is an indirect attack, not a user prompt attack.
  • Screening only user input misses attacks that arrive through tools.

Check yourself: d3-q22 · d3-s2 · Microsoft Learn

3.8

Provenance: Content Credentials

Every generated image carries a signed C2PA manifest saying it was made by AI.

From CCA-F: New for you. The responsible-AI idea is the same as CCA-F's transparency principle; the mechanism is a signed metadata manifest.

How it works

  1. Generate the image
  2. The service attaches a C2PA manifest
  3. Anyone can verify it with a C2PA tool

Must know

  • C2PA = Coalition for Content Provenance and Authenticity.
  • It's metadata, not a visible watermark.
  • Re-encoding or screenshots can strip it: it proves origin when present, not absence when missing.

Traps

  • "Add a visible watermark" isn't what Content Credentials do.

Check yourself: d3-y1 · Microsoft Learn