Skip to content

generate_cv

Generate a tailored CV for a specific job.

Overview

Property Value
Cost $0.20 (20 cents)
Scope cv_generation

Arguments

Argument Type Required Default Description
job_id integer Yes - ID of an analyzed job
format string No pdf Output format: pdf, docx, or markdown

Analyze first

You must analyze a job with analyze_job before generating a CV for it. Use the job_id from the analysis response.

Response

{
  "cv_url": "https://jobko.ai/api/cvs/abc123.pdf",
  "filename": "john_doe_senior_developer_techcorp.pdf",
  "format": "pdf",
  "expires_at": "2024-03-15T12:00:00Z",
  "highlights": [
    "Emphasized Python microservices experience",
    "Featured PostgreSQL optimization project",
    "Aligned skills section with job requirements"
  ]
}

Fields

Field Type Description
cv_url string Download URL (expires after 24h)
filename string Suggested filename
format string File format
expires_at string When the download URL expires
highlights array What was customized for this job

Example

curl -X POST https://jobko.ai/api/mcp/tools/call \
  -H "Authorization: Bearer jk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "generate_cv",
    "arguments": {
      "job_id": 12345,
      "format": "pdf"
    }
  }'
import requests

# First, analyze the job
analysis = requests.post(
    "https://jobko.ai/api/mcp/tools/call",
    headers={"Authorization": "Bearer jk_YOUR_KEY"},
    json={
        "name": "analyze_job",
        "arguments": {"job_url": "https://linkedin.com/jobs/view/123456"}
    }
).json()

# Then generate CV
cv = requests.post(
    "https://jobko.ai/api/mcp/tools/call",
    headers={"Authorization": "Bearer jk_YOUR_KEY"},
    json={
        "name": "generate_cv",
        "arguments": {
            "job_id": analysis["job_id"],
            "format": "pdf"
        }
    }
).json()

print(f"Download: {cv['cv_url']}")
# First analyze
mcporter call jobko.analyze_job --job_url "https://linkedin.com/jobs/view/123456"
# Note the job_id from the response

# Then generate
mcporter call jobko.generate_cv --job_id 12345 --format pdf

Output Formats

Format Best For
pdf Most applications (ATS-friendly)
docx Editing before submission
markdown Developers, plain text systems

What Gets Customized

The CV is tailored to match the job by:

  1. Skills ordering - Matching skills appear first
  2. Experience emphasis - Relevant projects highlighted
  3. Keywords - Job-specific terminology added
  4. Summary - Aligned with role requirements

Use Cases

  • One-click CV for quick applications
  • Batch CV generation for multiple jobs
  • A/B testing different CV styles