1. OpenAI compatible format
Recommended for most new integration scenarios:POST /v1/chat/completionsPOST /v1/responsesGET /v1/responses/{response_id}POST /v1/images/generationsPOST /v1/images/editsPOST /v1/videosGET /v1/videos/{task_id}
- SDK ecosystem is mature
- Consistent field styling
- Ideal for switching between multiple models
2. Model Native Format
Expose native interfaces when the model requires dedicated fields, specific task structures, or native query protocols:- Seedance:
/api/v3/contents/generations/tasks - HappyHorse:
/api/v1/services/aigc/video-generation/video-synthesisand/api/v1/tasks/{task_id} - Vidu:
/ent/v2/text2video、/ent/v2/img2video、/ent/v2/start-end2video、/ent/v2/reference2video和/ent/v2/tasks/{task_id}/creations - Omni and Veo:
gemini-omniuses/v1/videosor/api/v3/contents/generations/tasks; the native reserved paths for Veo are/v1beta/models/{model}:predictLongRunningand/v1beta/{operation_name} - Gemini Image Generation:
/v1beta/models/{model}:generateContent - Music generation:
/suno/submit/musicand/suno/fetch/{task_id}, supports prompt description mode, light music/instrumental mode, and advanced lyrics mode
gemini-omni is the publicly exposed video model name; you don’t need to worry about the internal upstream model. For video calls, use /v1/videos first; you can also use the Seedance task format /api/v3/contents/generations/tasks. mode=t2v/r2v/edit represent text-to-video, reference-based generation, and video editing respectively, and the duration field will be automatically mapped to the 4 / 6 / 8 / 10-second tiers.
Best for:
- Large number of model-specific fields
- Requires native request body structure
- Needs to remain close to the upstream official format
3. Model-Specific Video Interface
A few model-specific interfaces are currently available, such as:POST /kling/v1/videos/text2videoPOST /kling/v1/videos/image2videoBest for:- Existing integrations based on the specific model protocol
- Requires specific parameter modes for that model
4. Selection Recommendations
- For new projects, prioritize the OpenAI compatible format.
- Switch to the native format only if the compatible format cannot cover model-specific fields.
- Long-running task interfaces should clearly distinguish between “Create API” and “Query API,” and save
task_idoroperation_name. - When multiple invocation formats exist for the same model, refer to the supported fields on the corresponding API page; do not mix request body formats.
