Aidelly Docs
MCP

Content Tools

Image editor, repurposing, ideas, and interview tools for content generation.

Content tools help you generate, refine, and repurpose social media posts.

Image Editor Outputs

List images created in the Aidelly image editor.

Tool: aidelly_list_image_editor_outputs

Input:

{
  "workspace_id": "ws_uuid",
  "limit": 10,
  "page": 1
}

Output:

{
  "data": {
    "outputs": [
      {
        "id": "editor_output_uuid",
        "name": "Spring Campaign Banner",
        "template_used": "linkedin_banner",
        "created_at": "2026-02-18T10:30:00Z",
        "image_url": "https://app.aidelly.ai/storage/editor-outputs/abc123.png",
        "dimensions": { "width": 1200, "height": 627 },
        "used_in_posts": 3
      }
    ],
    "pagination": { "page": 1, "limit": 10, "total": 42 }
  }
}

Use for:

  • Listing previously created images
  • Batch operations on edited images
  • Tracking image usage across posts

Repurpose Jobs

Create and track content repurposing jobs that adapt posts for different platforms.

Create Repurpose Job

Tool: aidelly_create_repurpose_job

Input:

{
  "workspace_id": "ws_uuid",
  "idempotency_key": "repurpose-001",
  "post_id": "post_uuid",
  "target_platforms": ["twitter", "facebook"],
  "include_images": true,
  "tone_override": "professional"
}

Output:

{
  "data": {
    "job_id": "repurpose_job_uuid",
    "status": "processing",
    "source_post_id": "post_uuid",
    "target_platforms": ["twitter", "facebook"],
    "created_at": "2026-02-18T10:30:00Z",
    "started_at": "2026-02-18T10:30:05Z",
    "estimated_completion": "2026-02-18T10:35:00Z"
  }
}

Poll Job Status

Tool: aidelly_get_repurpose_job

Input:

{
  "workspace_id": "ws_uuid",
  "job_id": "repurpose_job_uuid"
}

Output (Processing):

{
  "data": {
    "job_id": "repurpose_job_uuid",
    "status": "processing",
    "progress": 60,
    "started_at": "2026-02-18T10:30:05Z",
    "estimated_completion": "2026-02-18T10:35:00Z"
  }
}

Output (Complete):

{
  "data": {
    "job_id": "repurpose_job_uuid",
    "status": "complete",
    "outputs": [
      {
        "platform": "twitter",
        "content_text": "Check out our latest update...",
        "media_urls": ["https://..."],
        "estimated_engagement": 0.045
      },
      {
        "platform": "facebook",
        "content_text": "We're excited to share...",
        "media_urls": ["https://..."],
        "estimated_engagement": 0.032
      }
    ],
    "completed_at": "2026-02-18T10:32:00Z"
  }
}

List Repurpose Jobs

Tool: aidelly_list_repurpose_jobs

Input:

{
  "workspace_id": "ws_uuid",
  "status": "complete",
  "limit": 10,
  "page": 1
}

Output:

{
  "data": {
    "jobs": [
      {
        "job_id": "repurpose_job_uuid",
        "source_post_id": "post_uuid",
        "target_platforms": ["twitter", "facebook"],
        "status": "complete",
        "created_at": "2026-02-18T10:30:00Z",
        "completed_at": "2026-02-18T10:32:00Z",
        "output_count": 2
      }
    ],
    "pagination": { "page": 1, "limit": 10, "total": 125 }
  }
}

Repurpose Job Lifecycle:

create_repurpose_job

[polling get_repurpose_job]

status: processing (0-100%)

status: complete → outputs available

[use outputs in create_post]

Polling Strategy:

// Start job
job = create_repurpose_job(...)
job_id = job.data.job_id

// Poll until complete
while (true) {
  status = get_repurpose_job(job_id)
  if (status.data.status === "complete") {
    break
  }
  // Exponential backoff: 1s, 2s, 4s, 8s, 15s
  await sleep(exponential_backoff(attempt))
  attempt++
}

// Use outputs
for (output in status.data.outputs) {
  create_post({
    platform: output.platform,
    content_text: output.content_text,
    media_urls: output.media_urls
  })
}

Content Ideas

Generate post ideas based on brand context, recent trends, and audience.

Create Idea

Tool: aidelly_create_idea

Input:

{
  "workspace_id": "ws_uuid",
  "brand_id": "br_uuid",
  "idempotency_key": "idea-spring-2026",
  "topic": "Q1 product roadmap",
  "platforms": ["linkedin", "twitter"],
  "tone": "professional",
  "include_hashtags": true
}

Output:

{
  "data": {
    "idea_id": "idea_uuid",
    "topic": "Q1 product roadmap",
    "suggestions": [
      {
        "title": "Feature Highlight: New Analytics Dashboard",
        "description": "Showcase the improved analytics interface and key metrics",
        "platforms": ["linkedin", "twitter"],
        "estimated_engagement": 0.055,
        "suggested_hashtags": ["#productlaunch", "#analytics", "#SaaS"]
      },
      {
        "title": "Behind-the-Scenes: Building the Dashboard",
        "description": "Tell the engineering story behind the analytics improvements",
        "platforms": ["linkedin"],
        "estimated_engagement": 0.038
      }
    ],
    "created_at": "2026-02-18T10:30:00Z"
  }
}

List Ideas

Tool: aidelly_list_ideas

Input:

{
  "workspace_id": "ws_uuid",
  "brand_id": "br_uuid",
  "limit": 10,
  "page": 1
}

Output:

{
  "data": {
    "ideas": [
      {
        "idea_id": "idea_uuid",
        "topic": "Q1 product roadmap",
        "platforms": ["linkedin", "twitter"],
        "suggestion_count": 5,
        "created_at": "2026-02-18T10:30:00Z",
        "used_in_posts": 2
      }
    ],
    "pagination": { "page": 1, "limit": 10, "total": 47 }
  }
}

Brand Interview

Generate brand interview questions to build brand voice and messaging guidelines.

Tool: aidelly_generate_brand_interview_questions

Input:

{
  "workspace_id": "ws_uuid",
  "brand_id": "br_uuid",
  "idempotency_key": "interview-brand-voice-001",
  "focus_areas": ["brand_voice", "values", "target_audience"],
  "question_count": 10
}

Output:

{
  "data": {
    "interview_id": "interview_uuid",
    "questions": [
      {
        "id": "q1",
        "question": "How would you describe your brand voice in 3-5 words?",
        "category": "brand_voice",
        "guidance": "Think about tone, personality, and how you communicate with customers"
      },
      {
        "id": "q2",
        "question": "Who is your primary target audience?",
        "category": "target_audience",
        "guidance": "Be specific: role, industry, pain points, demographics"
      },
      {
        "id": "q3",
        "question": "What are the top 3 values your brand embodies?",
        "category": "values",
        "guidance": "Consider what drives decisions and how you want to be perceived"
      }
    ],
    "created_at": "2026-02-18T10:30:00Z"
  }
}

Use for:

  • Onboarding new team members
  • Ensuring consistent brand messaging
  • Documenting brand guidelines
  • Training AI content generation

Example: Full Content Creation Flow

# Step 1: Generate ideas
ideas=$(aidelly_create_idea --workspace_id ws_abc --topic "New Feature Launch")

# Step 2: Select an idea and create base post
post=$(aidelly_create_post --workspace_id ws_abc \
  --platform linkedin \
  --content_text "Check out our new feature...")

# Step 3: Repurpose for other platforms
repurpose=$(aidelly_create_repurpose_job --workspace_id ws_abc \
  --post_id post_id \
  --target_platforms twitter,facebook)

# Step 4: Poll for completion
while true; do
  status=$(aidelly_get_repurpose_job --workspace_id ws_abc \
    --job_id repurpose.job_id)

  if [ "$status.status" = "complete" ]; then
    break
  fi
  sleep 2
done

# Step 5: Create repurposed posts
for output in status.outputs:
  aidelly_create_post --workspace_id ws_abc \
    --platform output.platform \
    --content_text output.content_text

See Also