# Choose a generation task and model

> Start with the result you need, select a supported model when required, and build input from the published task schema.

Canonical: https://entirefeed.com/docs/generate/models

Every request starts with a `task`. Use `image.create`, `image.edit`, `video.create`, or a supported processing task to describe the result you need. Then choose one of that task's available models when the task requires it.

## Read the task before building input

`GET /v1/tasks` returns each task's availability, models, variants, input schemas, defaults, and output schema. `GET /v1/models` provides the inverse view: each model and the tasks it supports.

For a model-backed task, send both `task` and `model`. For a model-less task, omit `model` entirely. Do not send `null`.

## Apply defaults deliberately

Defaults are valid starting values, not hidden request fields. Send explicit values when dimensions, duration, resolution, or processing thresholds matter to your integration.

## Understand social search context

`social.search` applies a US search context where the selected platform integration supports country selection. TikTok searches are pinned to the US. The current Instagram Reels and YouTube Shorts integrations do not accept a country or locale, so those searches use the integration's default context and do not guarantee US-localized results.

See the generated [models and tasks reference](/docs/reference/models) for complete current schemas and prices.

## Current public contract

The public catalog currently contains 11 available tasks, 11 available models, and 23 published prices. Coming-soon entries are marked non-runnable.

## Available generation tasks

### `image.create`

- Media: image
- Availability: Available
- Model: `gpt-image-2`, `nano-banana-2`, `nano-banana-2-lite`, `nano-banana-pro`, `seedream-5-pro`
- Required input: `prompt`

### `image.edit`

- Media: image
- Availability: Available
- Model: `gpt-image-2`, `nano-banana-2`, `nano-banana-2-lite`, `nano-banana-pro`, `seedream-5-pro`
- Required input: `prompt`, `images`

### `social.search`

- Media: video
- Availability: Available
- Model: Omit `model`; this task is model-less
- Required input: `platform`, `query`

### `video.add_audio`

- Media: video
- Availability: Available
- Model: Omit `model`; this task is model-less
- Required input: `video`, `audio`

### `video.concat`

- Media: video
- Availability: Available
- Model: Omit `model`; this task is model-less
- Required input: `videos`

### `video.create`

- Media: video
- Availability: Available
- Model: `gemini-omni`, `gemini-omni-flash`, `seedance-2`, `seedance-2-fast`, `seedance-2-mini`
- Required input: `prompt`

### `video.extract_audio`

- Media: audio
- Availability: Available
- Model: Omit `model`; this task is model-less
- Required input: `video`

### `video.extract_frame`

- Media: image
- Availability: Available
- Model: Omit `model`; this task is model-less
- Required input: `video`

### `video.lipsync`

- Media: video
- Availability: Available
- Model: `sync-lipsync-v3`
- Required input: `video`, `audio`

### `video.split_scenes`

- Media: video
- Availability: Available
- Model: Omit `model`; this task is model-less
- Required input: `video`

### `video.trim`

- Media: video
- Availability: Available
- Model: Omit `model`; this task is model-less
- Required input: `video`, `end_seconds`
