Provider-neutral generation APIs Connect different model services without hiding their differences. Reviewed: 2026-10-03 Source-based teaching example · Fictional data Narration: Microsoft Mark · locally synthesized 00:00:00.000 — What you will learn Connect different model services without hiding their differences. Visual description: Connect different model services without hiding their differences. 00:00:06.625 — The idea Use a shared result format, but preserve status and capability differences. An adapter should translate fields, not invent missing information. Test failures as carefully as normal answers. Visual description: Use a shared result format, but preserve status and capability differences. An adapter should translate fields, not invent missing information. Test failures as carefully as normal answers. 00:00:22.708 — One useful term Adapter. Code that translates one service’s interface into the interface your application expects. Visual description: Code that translates one service’s interface into the interface your application expects. 00:00:32.292 — A worked example Two mock providers use different field names and refusal signals. Their adapters produce a common result. Refusal, partial output and unknown usage stay explicit instead of becoming empty successful answers. Visual description: Two mock providers use different field names and refusal signals. Their adapters produce a common result. Refusal, partial output and unknown usage stay explicit instead of becoming empty successful answers. 00:00:49.375 — Your turn to think Is missing usage the same as zero usage? Pause and decide before continuing. Visual description: Is missing usage the same as zero usage? Pause the video if you need more time. 00:01:05.583 — Why this answer works No. Keep it unknown. The offline tests show adapter rules, not actual provider or network behavior. Visual description: No. Keep it unknown. The offline tests show adapter rules, not actual provider or network behavior. 00:01:16.417 — Check 1 Check declared capabilities. Visual description: Check declared capabilities. 00:01:21.417 — Check 2 Keep refusal and partial states visible. Visual description: Keep refusal and partial states visible. 00:01:26.833 — Check 3 Reject unknown status values. Visual description: Reject unknown status values. 00:01:32.042 — Now try a different case Open the lesson and try its different practice case. Use every check in the full task. Watching alone does not mark the lesson complete. Visual description: Open the lesson Try the new case Check and revise The full task and its requirements are in the linked lesson.