Skip to content

Creation Cards

Each column in an Auto Content Engine sheet has a creation card type that determines what kind of content its cells generate. When you call the generate endpoint, the generation_type and data parameters you pass depend on the card type assigned to that column.

Card TypeWhat it doesModelsDetail page
TextAI-generated text content (scripts, prompts, descriptions)Gemini, OpenAIText
MediaUpload an image or video file directlyMedia
Image from TextGenerate images from text promptsGemini, Gemini Pro, MidjourneyImage from Text
Video from TextGenerate video from a text promptVeo 3/3.1, Sora 2, Kling 1.6, SeedanceVideo from Text
Video from ImageGenerate video using a reference imageKling 2.1/2.6, Veo 3/3.1, Sora 2, SeedanceVideo from Image
Video from IngredientsGenerate video from a prompt combined with assetsPika, Kling 1.6, Seedance, Veo 3.1Video from Ingredients
Speech from TextConvert text to speech with voice selectionElevenLabsSpeech from Text
LipsyncSync an audio track to a videosync.so, genLipsync
CaptionsGenerate captions from audio or videoGeminiCaptions

These concepts apply across multiple card types.

Any text field — prompt, script, negative prompt — can itself be AI-generated. Pass a model and prompt within the text field’s configuration:

{
"model": "gemini",
"prompt": "Write a 30-second script about sustainable fashion"
}

Supported models: "gemini" and "openai".

Text fields support {{variable_name}} template substitution. Variables are defined at the sheet level (see Variables) and replaced at generation time.

{
"prompt": "Create a {{product_type}} ad for {{brand_name}}"
}

Media fields can also reference variables via prompt_var, image_var, and similar fields — pulling values from other cells or global variables.

Available ratios vary by model. Common options:

  • 1:1 — square
  • 9:16 — vertical / portrait (TikTok, Reels, Shorts)
  • 16:9 — horizontal / landscape (YouTube)

Check the individual card type page for model-specific ratio support.

For video card types, duration is specified in seconds. Available values depend on the model — for example, Kling 1.6 supports 5s and 10s, while Veo 3 supports up to 8s. See each card type page for details.


Send a POST request with the generation_type and data for the card type:

Terminal window
curl -X POST "https://api.gen.pro/v1/autocontentengine/101/cells/3000/generate?agent_id=42" \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"generation_type": "text",
"data": {
"model": "gemini",
"prompt": "Write a hook for a cooking video"
}
}'

The response returns a generation_id with status: "pending".

Poll the generation status endpoint until the job finishes:

GET /v1/generations/{generation_id}
pending → processing → completed
→ failed
→ stopped
StatusMeaning
pendingQueued, waiting to be picked up.
processingModel is actively generating.
completedDone. Check result and output_resources.
failedSomething went wrong. Check failed_reason.
stoppedManually cancelled via the stop endpoint.

On completion, the generation object contains the output:

  • Text cards: the generated text is in the result field.
  • Media cards (image, video, audio): URLs are in the output_resources array.
{
"id": 9000,
"status": "completed",
"output_resources": [
{
"url": "https://cdn.gen.pro/outputs/abc123.mp4",
"thumbnail_url": "https://cdn.gen.pro/thumbnails/abc123.jpg",
"object_type": "video"
}
]
}

Credits are pre-charged when a generation is created. If the generation fails or is stopped, credits are automatically refunded.