Class: TemplateFox::ImageApi
- Inherits:
-
Object
- Object
- TemplateFox::ImageApi
- Defined in:
- lib/templatefox/api/image_api.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Returns the value of attribute api_client.
Instance Method Summary collapse
-
#create_image(create_image_request, opts = {}) ⇒ CreateImageResponse
Generate image from template Generate an image (PNG, JPEG or WebP) from an image template.
-
#create_image_with_http_info(create_image_request, opts = {}) ⇒ Array<(CreateImageResponse, Integer, Hash)>
Generate image from template Generate an image (PNG, JPEG or WebP) from an image template.
-
#initialize(api_client = ApiClient.default) ⇒ ImageApi
constructor
A new instance of ImageApi.
Constructor Details
Instance Attribute Details
#api_client ⇒ Object
Returns the value of attribute api_client.
17 18 19 |
# File 'lib/templatefox/api/image_api.rb', line 17 def api_client @api_client end |
Instance Method Details
#create_image(create_image_request, opts = {}) ⇒ CreateImageResponse
Generate image from template
Generate an image (PNG, JPEG or WebP) from an image template. Authentication: API Key required (x-api-key header) ## Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | template_id | string | ✅ Yes | Template short ID (12 characters) | | modifications | array | No | Modify elements by layer name (see below) | | format | string | No | png (default), jpeg or webp | | width | integer | No | Output width in pixels (defaults to the template's native width) | | export_type | string | No | url (default) or binary | ## Modifications Each modification targets a layer by the name you set in the editor's Layers panel: | Property | Description | |----------|-------------| | name | Layer name to modify (required) | | text | Replace the layer's text | | image_url | Set the layer's image (src for images, background-image otherwise) | | color | Text color | | background | Background color | | hidden | Hide (true) or show (false) the layer | Unknown layer names are skipped and listed in the response warnings. A name that matches several layers is applied to all of them. ## Export Types - url (default): image is uploaded to CDN, returns JSON with URL - binary: returns raw image bytes directly Note: This endpoint only accepts image templates. Use /v1/pdf/create for PDF templates. Credits: 1 credit deducted per successful generation. Rate Limits: 60 requests/min (free), 120 requests/min (paid). Headers included in response.
27 28 29 30 |
# File 'lib/templatefox/api/image_api.rb', line 27 def create_image(create_image_request, opts = {}) data, _status_code, _headers = create_image_with_http_info(create_image_request, opts) data end |
#create_image_with_http_info(create_image_request, opts = {}) ⇒ Array<(CreateImageResponse, Integer, Hash)>
Generate image from template Generate an image (PNG, JPEG or WebP) from an image template. Authentication: API Key required (`x-api-key` header) ## Request Body | Field | Type | Required | Description | |-------|------|----------|-------------| | `template_id` | string | ✅ Yes | Template short ID (12 characters) | | `modifications` | array | No | Modify elements by layer name (see below) | | `format` | string | No | `png` (default), `jpeg` or `webp` | | `width` | integer | No | Output width in pixels (defaults to the template's native width) | | `export_type` | string | No | `url` (default) or `binary` | ## Modifications Each modification targets a layer by the `name` you set in the editor's Layers panel: | Property | Description | |----------|-------------| | `name` | Layer name to modify (required) | | `text` | Replace the layer's text | | `image_url` | Set the layer's image (`src` for images, `background-image` otherwise) | | `color` | Text color | | `background` | Background color | | `hidden` | Hide (`true`) or show (`false`) the layer | Unknown layer names are skipped and listed in the response `warnings`. A name that matches several layers is applied to all of them. ## Export Types - `url` (default): image is uploaded to CDN, returns JSON with URL - `binary`: returns raw image bytes directly Note: This endpoint only accepts image templates. Use `/v1/pdf/create` for PDF templates. Credits: 1 credit deducted per successful generation. Rate Limits: 60 requests/min (free), 120 requests/min (paid). Headers included in response.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/templatefox/api/image_api.rb', line 37 def create_image_with_http_info(create_image_request, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: ImageApi.create_image ...' end # verify the required parameter 'create_image_request' is set if @api_client.config.client_side_validation && create_image_request.nil? fail ArgumentError, "Missing the required parameter 'create_image_request' when calling ImageApi.create_image" end # resource path local_var_path = '/v1/image/create' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json', 'image/png']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? header_params['Content-Type'] = content_type end # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] || @api_client.object_to_http_body(create_image_request) # return_type return_type = opts[:debug_return_type] || 'CreateImageResponse' # auth_names auth_names = opts[:debug_auth_names] || ['ApiKeyAuth'] = opts.merge( :operation => :"ImageApi.create_image", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:POST, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: ImageApi#create_image\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |