# Media Client Migration Status

This document tracks the server-main media runtime migration into the AI Gateway.

## Runtime Scope

- Included model types: `image_generate`, `image_edit`, `video_generate`, `image_to_video`, `omni_video`, `video_edit`.
- Excluded provider: `easyai`, because routing AI Gateway media tasks back into server-main would create a loopback dependency.
- Universal custom scripts are supported through `integration_platforms.config`:
  - `customPreprocessScript`
  - `customGetParamsScript`
  - `customSubmitScript`
  - `customPollScript`
  - `getTaskURL`
  - `skipParamNormalization`

## Migrated Clients

- `universal`: custom preprocess/get params/submit/poll scripts, default submit/poll, remote task resume.
- `jimeng`: async submit/poll skeleton with Jimeng task id and status mapping.
- `blackforest`: submit with `x-key`, `polling_url` polling, image result normalization.
- `tencent-hunyuan-image`: Tencent-style `Response.JobId`/`Response.Status` image task mapping.
- `tencent-hunyuan-video`: Tencent-style `Response.JobId`/`Response.Status` video task mapping.
- `minimax`: video submit/query task mapping.
- `midjourney`: diffusion submit, job polling, original and Aliyun-style status/result mapping.
- `vidu`: Token auth, typed submit path, creations polling.
- `aliyun-bailian`: video synthesis submit and task polling.
- `newapi`: `/videos/generations` submit and task polling.

## Notes

- Provider-specific advanced parameter shaping remains isolated inside each client/spec.
- Tencent and Jimeng production deployments should configure exact submit/poll paths and credentials in platform config when they differ from the default server-main-compatible paths.
- Each migrated client has an `httptest` submit/poll coverage case in `internal/clients`.
